【发布时间】:2012-05-17 14:03:58
【问题描述】:
我的代码示例:
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
我做错了什么?
【问题讨论】:
-
对 Lorem ipsum 感到抱歉,但它不允许我在没有它的情况下发帖,因为“问题太短了”。
-
你的结果是正确的。三分之一,四舍五入到最接近的整数,通过四舍五入打破平局,确实是一个平坦的零舍入。
-
如果我需要 0.33333333?我如何将 1 除以 3?
-
Jan,您为您的案例指定比例为 8。 a.divide(b,8, BigDecimal.ROUND_HALF_UP);
标签: java bigdecimal