格式化数字分组问题
比如 int i=123456789.12 要把他变成 i= 123,456,789.12 这样的格式
请问有什么函数,或者什么方法.
------解决方案--------------------首先, 123456789.12 不是int了。
转化过后就是字符串,也不是int。
可以自己写一个函数,加,
------解决方案--------------------DecimalFormat format=new DecimalFormat( "#,##0.0# ");
format.format(123456789.12);
------解决方案--------------------String xx = new java.text.DecimalFormat().format(123456789.12);
System.out.println(xx);
出来得就是lz要得结果
------解决方案--------------------用"."来取整数,split函数
看看commons有没有每格三位插入 ", "的函数
apache jakarta commons项目中的lang的stringUtils工具
不要从轮子做起.
如果真的没有的话,就只能把split后的整数转成byte[]
循环三个插入","就可以了
------解决方案--------------------你是想做金钱格式的转换吧?
用下面的方法:
public static String doubleToCurrency(double doubleValue) {
Object[] args = { doubleValue };
return MessageFormat.format(
"{0,number,¥,#,###,###,###,###,###,##0.00} ", args);
}
别忘给分,^_^
------解决方案--------------------NumberFormat nf = DecimalFormat.getInstance();
System.out.println(nf.format(123456789.12));
输出结果:123,456,789.12
本身这种逗号分割就是我们的数字书写方式,
所以你只要把NumberFormat本地化就可以了~
有需要那么麻烦的方法吗~
------解决方案-------------------- double d=123456789.12;
NumberFormat df = NumberFormat.getInstance(Locale.CHINESE);
System.out.println(df.format(d));