Java 怎么根据国家或区域格式化

2019年4月4日07:17:57 评论 137

1.简介

Java 怎么根据国家或区域的不同对数值或内容进行格式化?——请看下文。

2.代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */
public class NumberFormatLocale {
	 public static void displayNumber(Locale currentLocale) {
		Integer quantity = 123456;
		Double amount = 345987.246;
		NumberFormat numberFormatter;
		String quantityOut;
		String amountOut;

		numberFormatter = NumberFormat.getNumberInstance(currentLocale);
		quantityOut = numberFormatter.format(quantity);
		amountOut = numberFormatter.format(amount);
		System.out.println(quantityOut + "   " + currentLocale.toString());
		System.out.println(amountOut + "   " + currentLocale.toString());
	}


	public static void main(String[] args) {
		ArrayList<Locale> locales = new ArrayList<>();
		locales.add(0, new Locale.Builder().setLanguage("zh").setRegion("CN").build());
		locales.add(1, new Locale.Builder().setLanguage("de").setRegion("DE").build());
		for (Locale locale : locales) {
			displayNumber(locale);
		}

	}
}

3.结果

4.总结

示例代码中初始化了两个 Locale 对象,一个是中国一个是德国,然后根据 Locale 对象获取 NumberFormat 对象,最后调用获取到的 NumberFormat 对象进行格式化并进行输出。

从结果图可以很明显的看出,中国和德国的输出结果并不相同,所以要根据地区或国家来格式化那么就应该采用跟本文类似的做法。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: