【发布时间】:2016-09-15 16:39:46
【问题描述】:
我正在使用以下代码来格式化双精度值。 例如,如果输入为34,则输出双精度值应为34.00。
Double value = new Double(34);
DecimalFormat decimalFormat =new DecimalFormat();
decimalFormat.applyPattern("#.00");
System.out.println("String format " + decimalFormat.format(value));
double formattedValue =Double.valueOf(decimalFormat.format(value));
System.out.println("double format " + formattedValue);
这里输出:
字符串格式 34.00
双格式 34.0
我不想使用BigDecimal。
这里我们的最终要求是将格式化的值存储在双类型字段中。
【问题讨论】:
-
double值没有“格式”。 -
您以数字形式存储您的值。
double不保留有效数字,因此无论字符串中有多少个数字,打印出来时仍然会得到 34.0。打印时必须重新格式化双精度。 -
不要将其分配给 formattedValue。打印 decimalFormat.format(value) 本身(如@Reimeus 所示)
-
嘿,谢谢。这里的要求是将格式化的值存储在双字段中。
标签: java decimalformat