第一次使用BigDecimal的练习题。 我的主要方法的输出应该是:BigDecimal输出不包含精确的十进制值?
半径圆面积8.5949958is: 232.081671383290563028029402608911005665488497019210725540793500930304148269265220664195247142820189371870652494944664567810832522809505462646484375
圆的面积与半径3.440393959403938E7is: 3718483500498323.66662697460176592346057689232315135847190735857072463126614392248114882022491656243801116943359375
然而,这也不是什么打印编辑。我得到一个圆一个的
232.081671383290555535978683110442943871021270751953125
价值,并为3718483500498323.563695
圈两个值。 一位同事告诉我,我需要为每个值使用BigDecimals,以便输出精确,但我的印象是我已经在做这个。
import java.math.BigDecimal;
public class Circle
{
private BigDecimal radius = new BigDecimal("0.0");
public Circle()
{
setRadius(0.0);
}
public void setRadius(double r)
{
this.radius = new BigDecimal(r);
}
public BigDecimal findCircleArea(double radius)
{
this.setRadius(radius);
BigDecimal Pi = new BigDecimal("3.14159");
BigDecimal rad = new BigDecimal(Math.pow(radius, 2.0));
BigDecimal a = Pi.multiply(rad);
return a;
}
}
合并,如果你需要,但我环顾四周,并没有能够找到答案,这真的让我很沮丧。
这是一个不错的谜语。我个人不知道如何接收这些数字,如果它不是误解任务。 – Andremoniy