System.out.println("BigDecimal.ROUND_UP的使用(1.9672131 保留一个小数,直接进位):"+b1.divide(b2,1,BigDecimal.ROUND_UP)); // 12 除于 6.1 =1.9672131... 四舍五入,后一位大于等于5直接进一位 System.out.println("BigDecimal.ROUND_HALF_UP的使用(1
如果我们希望进行四舍五入,可以使用setScale方法设置小数位数和舍入模式: BigDecimalresult=dividend.divide(divisor,2,BigDecimal.ROUND_HALF_UP); 1. 上述代码中,setScale方法的第一个参数为小数位数,第二个参数为舍入模式。ROUND_HALF_UP表示四舍五入。 除了ROUND_HALF_UP,BigDecimal类还提供了其他舍入模式: ROU...
// 保留两位小数,小数位四舍五入System.out.println(BigDecimal.valueOf(5/18D).setScale(2, BigDecimal.ROUND_HALF_UP)); 方式三:先转BigDecimal,再进行运算 // Integer转BigDecimalBigDecimalfive=newBigDecimal(5);BigDecimaleight=newBigDecimal(18);// 进行除法运算,并保留两位小数System.out.println(five.divi...
比如:BigDecimal.ROUND_HALF_UP表示的就是4舍5入。 3:pubilc BigDecimal divide(BigDecimal divisor, int scale, int roundingMode) 的意思是说:我用一个BigDecimal对象除以divisor后的结果,并且要求这个结果保留有scale个小数位,roundingMode表示的就是保留模式是什么,是四舍五入啊还是其它的,你可以自己选! 4:对于一...
BigDecimal.divide方法中必须设置roundingMode,不然会报错。 ROUND_UP:向正无穷方向对齐(转换为正无穷方向最接近的所需数值) ROUND_DOWN:向负无穷方向对齐 ROUND_CEILING:向原点的反方向对齐 ROUND_FLOOR:向原点方向对齐 ROUND_HALF_UP:“四舍五入”,如果舍弃部分的最高位大于等于 5,向正无穷方向对齐,否则向负无穷方...
一: 四舍五入(四舍五入形式保留两位小数,注意模式ROUND_HALF_UP) double f = 2345.2345; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 保留两位小数 二: double f = 2345.2345; java.text.DecimalFormat df =new java.text.DecimalFormat(“#...
百分比的计算可以使用BigDecimal的divide方法://计算50% BigDecimal b1 = new BigDecimal(50); // 50代表50% BigDecimal b2 = new BigDecimal(100); // 100代表100% BigDecimal result = b1.divide(b2, 2,BigDecimal.ROUND_HALF_UP); //结果四舍五入保留2位小数System.out.println(result);输出结果:0.50...
RoundingMode.HALF_UP:四舍五入,负数原理同上 RoundingMode.HALF_EVEN:这个比较绕,整数位若是奇数则四舍五入,若是偶数则五舍六入 RoundingMode.ROUND_UNNECESSARY:不需要取整,如果存在小数位,就抛ArithmeticException 异常 6. 格式化 数字格式化可通过操作类`java.text.NumberFormat`和`java.text.DecimalFormat`提供的api...
return b1.divide(b2, scale, RoundingMode.HALF_UP).doubleValue(); } /** * 提供精确的小数位四舍五入处理。 * * @param v 需要四舍五入的数字 * @param scale 小数点后保留几位 * @return 四舍五入后的结果 */ public static double round(double v, int scale) { ...
在上面的示例中,使用BigDecimal类进行除法运算,并通过divide方法传入除数、保留的小数位数和取舍方式。这里使用ROUND_HALF_UP参数表示四舍五入。 需要注意的是,使用BigDecimal类进行除法运算时,需要使用字符串类型的构造函数创建BigDecimal对象,以避免精度丢失问题。