日期:2014-05-20  浏览次数:20744 次

怎么把一个很大的double类型的数转换能String类型,不是科学计数法的那种
String str = Double.toString(num);
System.out.println(str);
打印结果是1.23456789061E9

怎么才能得到String类型的1234567890.61
------解决方案--------------------
数据大的用BigDecimal.double float 会丢失精度。所以最好使用String 进行初始化。
例子: BigDecimal b = new BigDecimal("12345666767766666666666");
------解决方案--------------------

double num = 111231.5585478;  
java.math.BigDecimal b = new java.math.BigDecimal(num);  
double num2 = b.setScale(4, java.math.BigDecimal.ROUND_HALF_UP).doubleValue();  
System.out.println(num);  
System.out.println(num2);