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

it2022-05-05  80

比如

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

希望帮到大家

转载于:https://www.cnblogs.com/wangying222/p/5757327.html


最新回复(0)