要转换为2位小数的字符串

时间:2016-09-15 16:39:47

标签: java decimalformat

我使用以下代码格式化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

这里我们的最终要求是将格式化的值存储在双重类型字段中。

2 个答案:

答案 0 :(得分:1)

double可以格式化为"任何"您在第一个示例中看到的String类型,但double内部没有格式(至少有一个您可以修改的格式)。这就是为什么无论你做什么都不能打印第二行34.00而不将其转换为String的原因。

答案 1 :(得分:0)

嗯,我的意思是,总有很好的老字号......

System.out.printf("value is %.0f\n", value);

或者同样:

String formatted = String.format("%.0f", value);

重申其他评论:双是双。它没有固有的显示格式。格式化它是您显示它的方式。