我正在使用StringTokenizer类来读取文本文件。在文本文件中,有一些double值。然而使用Java中的StringTokenizer解析双变量时的精度错误
interest = Double.parseDouble(aString.nextToken());
System.out.println(interest);
它显示了罚款,在控制台中,当我尝试后打印出来,
System.out.println("Fixed Daily Interest = " + customers[i].get_interest() + "\n");
精密总是由一个小数点丢失。例如,其中一个值是0.055,当我在代码的第一部分解析它后打印它时,它显示的与控制台中的完全相同。然而,在另一种方法中,试图打印它给我0.05,不管我尝试什么,不将它解析为双变量,使用DecimalFormat等。任何善良的灵魂都会指导我在这里犯的错误是什么?我真的很困惑。
是的,我试过了,但它不起作用。我将double值保存在一个对象数组中的变量中,会影响任何内容吗? – Jason 2011-03-21 22:40:31
嗨@Jason,做了一些更多的搜索和更新我的文章,可能会帮助你的文章。基本上你需要将你的数据类型从double改为别的。 Java基元页面特别建议不要在百分比中使用double。 – Rasika 2011-03-21 23:16:08