java - 在 Java 中使用 StringTokenizer 解析 double 变量时出现精度错误

标签 java parsing double stringtokenizer

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

相关文章:

java - JTextArea 无法在多线程中工作 - java

java - 我想在 webview 中阻止 url

java - 使用较新 Java 的 Elasticsearch 占用的 RAM 比应有的要多

parsing - 使用解析器组合器解析带有转义字符的字符串?

java - 计算几何中 double 相等性测试的一般策略

java - 关于 HashMap.get(key) 函数

c - ezxml xml解析api

php - 使用 PHP 手动解析原始多部分/表单数据数据

Swift Float80 数据类型在 Xcode 8 beta 中不可用

excel - 在Excel中使用VBA截断 double