日期:2014-05-18  浏览次数:20677 次

格式化数字分组问题
比如   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));