如何在java中划分大小数

时间:2017-12-02 07:23:02

标签: java math bigdecimal

我遇到大十进制变量的问题。 我想分开它,问题是偏差结果不正确。 变量名为bvalue = 405000000 我想把它除以1000000.我面临的问题是响应是1.而不是预期的405。 我用了

bvalue = bvalue.divide(bvalue,1000000,RoundingMode.CEILING); 

如何正确划分大小数? 1000000 问候

enter image description here

enter image description here

2 个答案:

答案 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);

Demo