我正在做一个项目,需要将一些用户输入保存为双精度,格式为小数点后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));