0

例如这里,这个 calculateVolume() 使用双打

private double myRadius;
private double myVolume;
private double mySurfaceArea;
private final static double pi = 3.14;


public double calculateVolume(){
    myVolume = (4.0/3)*pi*(Math.pow(myRadius,3));
    return myVolume;
}

当我给 myRadius 赋值 6 时,它返回 904.3199999999999。有没有办法让它成为 904.32?

4

2 回答 2

0

你可以使用BigDecimal类。在该方法setScale()中,您可以定义所需的精度:

double volume = calculateVolume();
BigDecimal decimal = new BigDecimal(volume).setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(decimal);
于 2013-09-21T15:50:44.657 回答
0

您可以使用 DecimalFormat 来执行此操作。

double d= 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
String s = df.format(d);
于 2013-09-21T15:51:50.660 回答