double数值多时系统默认科学计数法解决方法


比如

1 Double d = new Double("1234567890.12");   
2 System.out.println("d:="+d);  
3 java.text.NumberFormat nf = java.text.NumberFormat.getInstance();   
4 nf.setGroupingUsed(false);  
5 System.out.println("d:="+nf.format(d));

输出结果:

d:=1.23456789012E9 

d:=1234567890.12 

运用了:

Double value=object.getDouble("value");
                java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
                carvalue.setText(nf.format(value)+"元");

这里输出结果还带有千分位的效果,比如输入12345600,输出12,345,600

还有一些属性,举个例子看看:

 1 java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
 2 
 3 // 不使用千分位,即展示为11672283.234,而不是11,672,283.234
 4 
 5 nf.setGroupingUsed(false);
 6 
 7 // 设置数的小数部分所允许的最小位数
 8 
 9 nf.setMinimumFractionDigits(0);
10 
11 // 设置数的小数部分所允许的最大位数
12 
13 nf.setMaximumFractionDigits(5);
14 
15 
16 
17 System.out.println(nf.format(nf.parse("11687337.23430").doubleValue())); // 11687337.2343
18 System.out.println(nf.format(nf.parse("11687337.00000").doubleValue())); // 11687337
19 System.out.println(nf.format(nf.parse("11687337.23000").doubleValue())); // 11687337.23

希望帮到大家


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM