将 Double 解析为特定格式

Parse Double to a specific format

我想将 Double 值解析为特定格式。我不希望它作为一个字符串。 我正在尝试

 DecimalFormat format3DigitsAfterDecimal = new DecimalFormat("#0.000");
 double d = 57;
 Double.parseDouble(format3DigitsAfterDecimal.format(d));

这个returns57.0,我要57.000用双精度格式方法返回。 我可能会问错问题吗?

双精度数没有特定格式。

获取 Double 值 57.0 或 57.000 对计算机而言是相同的,但对用户而言则不同。 作为一个人,你读的不是 Double,而是 Double 的字符串表示。

如果您希望双精度显示为小数点后 3 位,则必须使用 DecimalFormat

将其转换为字符串
double d = 57.0;
NumberFormat numFormat = NumberFormat.getInstance();
numFormat.setMaximumFractionDigits(3);
numFormat.setMinimumFractionDigits(3);
System.out.println(numFormat.format(d));

您不能更改小数的值,但您可以使用 NumberFormat 通过设置最小和最大小数位数来将其显示为三位小数,如上例所示。