我正在做一个项目,我需要将一些用户输入保存为double,格式化为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 :(得分:3)
您将数字与数字的字符串表示形容混淆。这是两件截然不同的事情。浮点数具有准确性,但它不理解显示有效数字的含义。这就像要求抽象数字0知道00是。
要正确显示数字,请使用您已创建的格式化程序:
System.out.println(format.format(num1));