我的代码示例:
import java.math.*;
public class x
{
public static void main(String[] args)
{
BigDecimal a = new BigDecimal("1");
BigDecimal b = new BigDecimal("3");
BigDecimal c = a.divide(b, BigDecimal.ROUND_HALF_UP);
System.out.println(a+"/"+b+" = "+c);
}
}
结果是:
1/3 = 0
我做错了什么?
答案 0 :(得分:71)
您没有为结果指定比例。请试试这个
import java.math.*;
public class x
{
public static void main(String[] args)
{
BigDecimal a = new BigDecimal("1");
BigDecimal b = new BigDecimal("3");
BigDecimal c = a.divide(b,2, BigDecimal.ROUND_HALF_UP);
System.out.println(a+"/"+b+" = "+c);
}
}
这将得到0.33的结果。请阅读API
答案 1 :(得分:2)
使用浮点数创建BigDecimal
,例如"1.0"
;至少是分子,如果你想要一个小数结果。