提问
我正在尝试将双精度型转换为不带符号的字符串,并尝试了以下方法:f= Double.valueOf(c.getString(c.getColumnIndex(NotesDbAdapter.KEY_VALUE)));
NumberFormat formatter = new DecimalFormat("###.##############");
但是,7 ^ 3 ^ 7的值返回为:558546000000000000相对于558545864083284007.一如既往的帮助将不胜感激.
最佳答案
>您已经具有字符串形式的值.为什么要将其转换为两倍?>您无法从无法容纳的两倍中获得精度. 558545864083284007具有18个十进制数字.双精度数具有53位二进制精度,大约是15.9个十进制数字. Google提出“每位计算机科学家都应了解的浮点知识”.
> ###.###############不适用于558545864083284007.