将 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 通过设置最小和最大小数位数来将其显示为三位小数,如上例所示。
我想将 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 通过设置最小和最大小数位数来将其显示为三位小数,如上例所示。