使用NumberFormat格式化数字

本文展示了一个使用Java进行国际货币、百分比及通用数值格式化的示例程序。通过为不同国家和地区设置本地化(Locale),可以实现符合当地习惯的数值显示格式。示例中包括中国、日本、德国和美国等地区的格式化效果。

getCurrentcyInstance():返回默认Locale的货币格式器。也可以在调用方法时传入指定的Locale,则获取指定Locale的货币格式器。
getIntegerInstance():返回认Locale的整数格式器。也可以在调用方法时传入指定的Locale,则获取指定Locale的整数格式器。
getNumberInstance():返回认Locale的通用数值格式器。也可以在调用方法时传入指定的Locale,则获取指定Locale的通用数值格式器。
getPercentInstance():返回认Locale的百分数格式器。也可以在调用方法时传入指定的Locale,则获取指定Locale的百分数格式器。


import java.util.*;

import java.text.*;
public class NumberFormatTest
{
public static void main(String[] args)
{
double db = 1234000.567;
Locale[] locales = {Locale.CHINA, Locale.JAPAN, Locale.GERMAN, Locale.US};
NumberFormat[] nf = new NumberFormat[12];

for(int i = 0 ; i < locales.length ; i++ )
{
nf[i * 3] = NumberFormat.getNumberInstance(locales[i]);
nf[i *3 + 1] = NumberFormat.getPercentInstance(locales[i]);
nf[i *3 + 2] = NumberFormat.getCurrencyInstance(locales[i]);
System.out.println(nf[i*3]);
System.out.println(nf[i*3+1]);
System.out.println(nf[i*3+2]);
}
for(int j = 0; j < locales.length; j++)
{
switch(j)
{
case 0:
System.out.println("--------中国的格式----------");
break;
case 1:
System.out.println("--------日本的格式----------");
break;
case 2:
System.out.println("--------德国的格式----------");
break;
case 3:
System.out.println("--------美国的格式----------");
break;
}
System.out.println("通用数值格式:" + nf[j * 3].format(db));
System.out.println("百分比数值格式:" + nf[j * 3 +1].format(db));
System.out.println("货币数值格式:" + nf[j *3+2].format(db));
}
}

}


运行结果:

java.text.DecimalFormat@674dc
java.text.DecimalFormat@674dc
java.text.DecimalFormat@774c1
java.text.DecimalFormat@674dc
java.text.DecimalFormat@674dc
java.text.DecimalFormat@774c1
java.text.DecimalFormat@674dc
java.text.DecimalFormat@674dc
java.text.DecimalFormat@688d8
java.text.DecimalFormat@674dc
java.text.DecimalFormat@674dc
java.text.DecimalFormat@67500
--------中国的格式----------
通用数值格式:1,234,000.567
百分比数值格式:123,400,057%
货币数值格式:¥1,234,000.57
--------日本的格式----------
通用数值格式:1,234,000.567
百分比数值格式:123,400,057%
货币数值格式:¥1,234,001
--------德国的格式----------
通用数值格式:1.234.000,567
百分比数值格式:123.400.057%
货币数值格式:¤ 1.234.000,57
--------美国的格式----------
通用数值格式:1,234,000.567
百分比数值格式:123,400,057%
货币数值格式:$1,234,000.57







































































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值