当使用String.valueOf()将dubble类型转换成String类型的时候,会有一个问题:
String.valueOf(999999999.9D)
结果是
9.999999999E8
当dubble是大数值的时候,会转成String的时候会使用科学记数法
我参考了一下:
https://blog.csdn.net/sxg0728/article/details/50260867
使用java.text.NumberFormat进行转换:
// 用于解决较大的dubble数值转换成String后使用科学记数法
java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
// 不使用千分位,即展示为11672283.234,而不是11,672,283.234
nf.setGroupingUsed(false);
// 设置数的小数部分所允许的最小位数
nf.setMinimumFractionDigits(0);
// 设置数的小数部分所允许的最大位数
nf.setMaximumFractionDigits(8);
// 设置数的整数部分所允许的最大位数
nf.setMaximumIntegerDigits(20);
效果:

![]()
7666





