Java 要另存为双精度的十进制格式

Java 要另存为双精度的十进制格式,java,decimalformat,Java,Decimalformat,我正在做一个项目,需要将一些用户输入保存为双精度,格式设置为小数点后4位。我可以设法使字符串具有正确的格式,但将其解析为双精度会破坏它。这是我正在做的一个例子 DecimalFormat format = new DecimalFormat("#.0000"); String example = "1.23"; Double num = Double.parseDouble(example); String str = format.format(nu

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

        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));

哇!我应该看到的。非常感谢。