我正在使用 StringTokenizer 类来读取文本文件。在文本文件中,有几个 double 值。
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 等。任何好心人会指导我在这里犯的错误是什么吗?我真的很困惑。
最佳答案
您可以使用DecimalFormat在 Java 中获得精度。
多读一点发现这个 post这可能会给你一些指导。基本上,如果您需要更高的精度,则需要转向专门设计的类来处理此问题。该帖子列出了几个选项。
关于java - 在 Java 中使用 StringTokenizer 解析 double 变量时出现精度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5384445/