无法将double值转换为2位小数

时间:2018-05-10 10:23:09

标签: java

我试图通过使用以下两种方法将double值转换为2位小数。

DecimalFormat的

double value = 2.384185791015625E-4;
DecimalFormat df = new DecimalFormat("###.##");
System.out.println(df.format(value));

Math.round

double value = 2.384185791015625E-4;
double newValue = Math.round(value*100.0)/100.0;
System.out.println(newValue);

在这两种情况下我都会得到0输出。我期待输出为2.38。 任何人都可以建议如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

你不会得到2.38,因为双倍的值是0.0002384185791015625 因为你四舍五入到小数点后两位,你会得到0.00