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

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

double的精度不够吧,用BigDecimal

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

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