java中的Double不使用科学计数法
本文转载自:https://www.cnblogs.com/wangying222/p/5757327.html
比如
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

浙公网安备 33010602011771号