Java的NumberFormat格式化数字

package learning;

import java.text.NumberFormat;
import java.util.Locale;

public class NumberFormatTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//需要被格式化的数字
		var db = 12345.23499004;
		// 创建四个Locale,分别代表中国,日本,美国,德国
		var locales = new Locale[]{Locale.CHINA, Locale.JAPAN, Locale.US, Locale.GERMAN};
		var nf = new NumberFormat[12];
		// 为上面四个Locale创建十二个NUmberFormat对象
		// 每个Locale分别有通用数值格式器、百分格式器、货币格式器
		for(var i=0; i<4; i++) {
			nf[i*3] = NumberFormat.getNumberInstance(locales[i]);
			nf[i*3+1] = NumberFormat.getPercentInstance(locales[i]);
			nf[i*3+2] = NumberFormat.getCurrencyInstance(locales[i]);
		}
		for(var i=0; i<locales.length; i++) {
			var tip = i == 0?"___中国格式____":
					i==i?"____日本格式____":
					i==2?"____德国格式____":"____美国格式____";
			System.out.println(tip);
			System.out.println("通用数值格式:"+nf[i*3].format(db));
			System.out.println("百分比数值格式:"+nf[i*3+1].format(db));
			System.out.println("货币数值格式:"+nf[i*3+2].format(db));
		}
	}
}
中国格式_
通用数值格式:12,345.235
百分比数值格式:1,234,523%
货币数值格式:?12,345.23
日本格式
通用数值格式:12,345.235
百分比数值格式:1,234,523%
货币数值格式:¥12,345
德国格式
通用数值格式:12,345.235
百分比数值格式:1,234,523%
货币数值格式:$12,345.23
美国格式
通用数值格式:12.345,235
百分比数值格式:1.234.523?%
货币数值格式:12.345,23

 

你可能感兴趣的