我正在使用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