2 u011130937 u011130937 于 2014.09.09 12:53 提问

string 转换成double,小数点后只有6位

现有string 是15位的数字,转化成double,后小数点后最多6位,剩下的就四舍五入了。
我用的方法是【string doubleValue】;
比如,string是113.91101128472,转化成double是113.911011
希望大神帮我看看怎么能完全转化。。。不要四舍五入。。。

2个回答

u012220365
u012220365   2014.09.09 15:05

double的精度不够吧,用BigDecimal

yuankangyx
yuankangyx   2014.09.09 17:39

String str = "123.456789123165464644646464";
System.out.println(new BigDecimal(str).setScale(6,BigDecimal.ROUND_DOWN));

6是你要保存的小数位数。
至于你要加减乘除的那个就看api吧。上面有。

LLy3_1415926
LLy3_1415926 用你所说的这种方式会把String转成一个BigDecimal类型的数据,而人家想要得是double型
大约一年之前 回复
yuankangyx
yuankangyx 你想要几位数字你就把6改成几!
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片