我遇到大十进制变量的问题。 我想分开它,问题是偏差结果不正确。 变量名为bvalue = 405000000 我想把它除以1000000.我面临的问题是响应是1.而不是预期的405。 我用了
bvalue = bvalue.divide(bvalue,1000000,RoundingMode.CEILING);
如何正确划分大小数? 1000000 问候
答案 0 :(得分:2)
您正在调用错误的.divide()
函数,而这需要以下
BigDecimal bvalue = new BigDecimal(405000000);
BigDecimal avalue = new BigDecimal(1000000);
System.out.println(bvalue.divide(avalue, BigDecimal.ROUND_CEILING));
答案 1 :(得分:1)
你的问题对我来说几乎像是一个错字,因为你自己将数字分开:
bvalue = bvalue.divide(bvalue, 1000000, RoundingMode.CEILING);
^^^ ^^^ numerator = denominator
因此,预期1的商数。
我认为这就是你的想法:
BigDecimal a = new BigDecimal("405000000");
BigDecimal b = new BigDecimal("1000000");
BigDecimal result = a.divide(b, 2, BigDecimal.ROUND_CEILING);
System.out.println(result);