我想将Double值解析为特定格式。我不希望它是字符串。 我正在尝试
DecimalFormat format3DigitsAfterDecimal = new DecimalFormat("#0.000");
double d = 57;
Double.parseDouble(format3DigitsAfterDecimal.format(d));
这将返回57.0
,我希望57.000
由format方法返回两次。
我可能会问错问题吗?
答案 0 :(得分:1)
双精度没有特定格式。
获得Double值57.0或57.000对于计算机是相同的,但对于用户而言是相同的。 作为人类,您不会阅读Double,而是Double的String表示形式。
如果您希望双精度显示的小数点后3位,必须使用DecimalFormat
将其转换为字符串
答案 1 :(得分:1)
double d = 57.0;
NumberFormat numFormat = NumberFormat.getInstance();
numFormat.setMaximumFractionDigits(3);
numFormat.setMinimumFractionDigits(3);
System.out.println(numFormat.format(d));
您不能更改小数的值,但是可以使用NumberFormat通过设置最小和最大小数位数来显示小数点后三个位,如上例所示。