第一次使用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