把一个double类型的值转成string,网上有很多的方法,包括用String.valueOf(Double d),或者 String str = "" + d, 或者用DecimalFormat df = new DecimalFormat("#.00"), 以及用NumberFormat类等。但是,当double的值特别大的时候,这些方法都是没有用的,因为double类型被转化成科学计数法了,对于小数点后面的值就没有保存。后来发现用BigDecimal bd = new BigDecimal(d),然后调用bd.setScale(arg0, arg1)这个方法特别有效。
转载请注明出处:http://blog.youkuaiyun.com/beiyeqingteng
本文介绍了当遇到极大数值的double类型转换为string时遇到的问题及解决方案。通常的方法如使用String.valueOf(double)或String str= + d等,在极大数值下会采用科学计数法而丢失精度。文章推荐使用BigDecimal bd = new BigDecimal(d)并调用bd.setScale()来精确控制小数点后的位数。
1651

被折叠的 条评论
为什么被折叠?



