我使用以下代码格式化double值。 例如,如果输入为 34 ,则输出double值应 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
。
这里我们的最终要求是将格式化的值存储在双重类型字段中。
答案 0 :(得分:1)
double
可以格式化为"任何"您在第一个示例中看到的String
类型,但double
内部没有格式(至少有一个您可以修改的格式)。这就是为什么无论你做什么都不能打印第二行34.00
而不将其转换为String
的原因。
答案 1 :(得分:0)
嗯,我的意思是,总有很好的老字号......
System.out.printf("value is %.0f\n", value);
或者同样:
String formatted = String.format("%.0f", value);
重申其他评论:双是双。它没有固有的显示格式。格式化它是您显示它的方式。