decimalFormat保存为双精度



我正在做一个项目,需要将一些用户输入保存为双精度,格式为小数点后4位。我可以设法使字符串具有正确的格式,但将其解析为Double会破坏它。。

        DecimalFormat format = new DecimalFormat("#.0000");
    String example = "1.23";
    Double num = Double.parseDouble(example);
    String str = format.format(num);
    Double num1 = Double.parseDouble(str);
    System.out.println(num1);

这会打印

1.23

我希望它什么时候打印

1.2300

您将数字与数字的字符串表示混淆了。这是两件非常不同的事情。浮点数有一定的准确性,但它不理解显示有效数字的含义。这就像让抽象数字0知道00是。

要正确显示数字,请使用您已经创建的格式化程序:

System.out.println(format.format(num1));

相关内容

  • 没有找到相关文章

最新更新