System.out.println("BigDecimal.ROUND_HALF_UP的使用(1.9672131 保留一个小数,后一位大于等于5直接进一位):"+b1.divide(b2,1,BigDecimal.ROUND_HALF_UP)); // 25 除于 4 =6.25 四舍五入,后一位大于等于5直接进一位 6.25 System.out.println("BigDecimal.ROUND_HALF_DOWN的使用(6.25 保留一个小数,后一...
BigDecimal.ROUND_DOWN:直接省略多余的小数,比如1.28如果保留1位小数,得到的就是1.2 BigDecimal.ROUND_UP:直接进位,比如1.21如果保留1位小数,得到的就是1.3 BigDecimal.ROUND_HALF_UP:四舍五入,2.35保留1位,变成2.4 BigDecimal.ROUND_HALF_DOWN:四舍五入,2.35保留1位,变成2.3 后边两种的区别就是如果保留的位数的后...
BigDecimal类中的divide方法可以用于执行除法运算。它有多个重载的方法,以下是其中两个常用的方法: divide(BigDecimal divisor):执行精确的除法运算,将当前BigDecimal对象除以参数divisor,并返回结果。该方法使用默认的舍入模式ROUND_HALF_UP进行舍入。 例子: BigDecimal num1 = new BigDecimal("10"); BigDecimal num2 =...
ROUND_HALF_UP :向“最接近”的数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。如果舍弃部分>= 0.5,则舍入行为与ROUND_UP相同;否则舍入行为与ROUND_DOWN相同。这种模式也就是我们常说的我们的“四舍五入”。 ROUND_HALF_DOWN :向“最接近”的数字舍入,如果与两个相邻数字的距离相等,则为...
类型:int(实际上是BigDecimal类中定义的舍入模式常量,如BigDecimal.ROUND_HALF_UP) 作用:这个参数指定了当需要舍入时,应该如何对结果进行舍入。Java提供了多种舍入模式,如ROUND_HALF_UP(四舍五入)、ROUND_DOWN(直接省略多余的小数)、ROUND_UP(直接进位)等。 注意:选择正确的舍入模式对于确保计算结果的准确性至...
System.out.println("ROUND_HALF_UP"+ROUND_HALF_UP); //6.67 amount.divide(BigDecimal.valueOf(monthDays),2,BigDecimal.ROUND_DOWN); //6.66 BUG解决了。可以继续写别的bug啦。 单个数转换时设置位数: setScale(int newScale,RoundingModeroundingMode) ...
除法保留有效位,不然容易报错//ROUND_HALF_UP:四舍五入(一般采用这个)System.out.println(b1.divide(b2,3,BigDecimal.ROUND_HALF_UP));//ROUND_HALF_DOWN:四舍五入,如果结果小数位只比保留位多一位且最后一位为5则不进位System.out.println(b1.divide(b2,3,BigDecimal.ROUND_HALF_DOWN));//ROUND_UP:...
BigDecimal.ROUND_HALF_UP:四舍五入,2.35保留1位,变成2.4 BigDecimal.ROUND_HALFpMIjW_DOWN:四舍五入,2.35保留1位,变成2.3 后边两种的区别就是如果保留的位数的后一位如果正好是5的时候,一个舍弃掉,一个进位。 2、BigDecimal.setScale()方法用于格式化小数点 ...
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor. 向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN ...