public static void main(String[] args) { // 如果第2位是奇数,则做ROUND_HALF_UP BigDecimal c = new BigDecimal("31.1150"); System.out.println("c="+c.setScale(2, BigDecimal.ROUND_HALF_EVEN)); // 如果第2位是偶数,则做ROUND_HALF_DOWN BigDecimal d = new BigDecimal("31.1250"); System.ou...
resVal = bdNum.setScale(0, BigDecimal.ROUND_HALF_DOWN); 结果:23 7、ROUND_HALF_EVEN 向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。 如果舍弃部分左边的数字为奇数,则舍入行为与 ROUND_HALF_UP 相同; 如果为偶数,则舍入行为与 ROUND_HALF_DOWN 相同。 四舍六入,五分两...
importjava.math.BigDecimal;publicclassRoundHalfEvenExample{publicstaticvoidmain(String[]args){doublenumber=1.5;longroundedNumber=Math.round(number);System.out.println(roundedNumber);// 输出 2BigDecimalnumber2=newBigDecimal("2.5");BigDecimalroundedNumber2=number2.setScale(0,BigDecimal.ROUND_HALF_EVEN);Sy...
setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍 setScaler(1,BigDecimal.ROUND_CEILING)接近正无穷大的舍入 setScaler(1,BigDecimal.ROUND_FLOOR)接近负无穷大的舍入,数字>0和ROUND_UP作用一样,数字<0和ROUND_DOWN作用一样 setScaler(1,BigDecimal.ROUND_HALF_EVEN)向最接近的数...
return b1.divide(b2, scale, round_mode).doubleValue(); } /** * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 * 小数点以后10位,以后的数字四舍五入,舍入模式采用ROUND_HALF_EVEN * @param v1 * @param v2 * @return 两个参数的商,以字符串格式返回 ...
4、ROUND_FLOOR 接近负无穷大的舍入模式。 如果BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同; 如果为负,则舍入行为与 ROUND_UP 相同。 注意,此舍入模式始终不会增加计算值。 5、ROUND_HALF_UP 向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。
我在Oracle存储过程中想对一个运算结果进行舍入(但不是四舍五入),类似Java里的BigDecimal类里的ROUND_HALF_EVEN,也就是向最近的一方进行舍入,如果离两方一样,就向偶数的一方舍入.例如:(精确到小数点后第2位) 0.124 (舍入后)= 0.12 0.126 (舍入后)= 0.13...
ROUND_HALF_UP:四舍五入(取更近的整数)。 ROUND_HALF_DOWN:同ROUND_HALF_UP 差别仅在于0.5时会向下取整。 ROUND_HALF_EVEN:取最近的偶数。 ROUND_UNNECESSARY:不需要取整,如果存在小数位,就抛ArithmeticException 异常。 保留精度 四舍五入保留几位小数 ...
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor. [Android.Runtime.Register("ROUND_HALF_EVEN")] public const Java.Math.RoundOptions RoundHalfEven = 6; Field Value Value = 6 RoundOptions Attributes ...
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor. Behaves as forROUND_HALF_UPif the digit to the left of the discarded fraction is odd; behaves as forROUND_HALF_DOWNif it's even. Note that this is...