最近用到java四舍五入,发现了BigDecimal.ROUND_HALF_EVEN这个参数。网上查了一下,相关资料并不多。于是研究了一下,发现就是"银行家舍入"。
即四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。
不明白可百度一下 银行家舍入。
public class BigDecimalTest {
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.out.println("d="+d.setScale(2, BigDecimal.ROUND_HALF_EVEN));
}
}
输出结果:
c=31.12
d=31.12
分享到:
相关推荐
解决mongo数据插入时 报错问题 mogodb插入数据时报错Can't find a codec for class java.math.BigDecimal
js中引入BigDecimal-all-last.min.js
js中bigdecimal所需的jar包,亲测有用。。。。。。。。
离线安装包,亲测可用
java.math.BigDecimal 操作类,包含加减乘除、String型加减乘除精度格式化转换计算等
031110_【第11章:Java常用类库】_大数操作(BigIntger、BigDecimal)笔记.pdf 031111_【第11章:Java常用类库】_对象克隆技术笔记.pdf 031112_【第11章:Java常用类库】_Arrays笔记.pdf 031113_【第11章:Java常用...
是不是还在为多精度小数运算烦恼 这个满足你一切要求 项目中需要对金钱进行运算,为了使计算结果更准确,故使用bigDecimal工具来实现
java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio....
BigInteger.java BigDecimal.java 文件 源代码
e = e.add(BigDecimal.prototype.ONE.divide(denominator, scale, BigDecimal.prototype.ROUND_HALF_UP)); denominator = denominator.multiply(new BigDecimal(iteration+'')); ++iteration; } equal(e....
BigDecimal.js 支持大量操作JavaScript库 安装 插入脚本 建造 npm run build
Java APIs: In addition to Object and APIs related to exceptions, you explore Math, StrictMath, BigDecimal, BigInteger, Package, Boolean, Character, Byte, Short, Integer, Long, Float, Double, Number, ...
在前端实际开发中,进行前端计算会出现丢失精度的问题,项目中需要对金钱进行运算,为了使计算结果更准确,故使用bigDecimal工具来实现
return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); } /** * 提供精确的小数位四舍五入处理。 * @param v 需要四舍五入的数字 * @param scale 小数点后保留几位 * @return 四舍五入后的...
用维吉尼亚算法加密 /** * 维吉尼亚密码算法(BigDecimal),加/解密处理后仍为BigDecimal类型,正负号和小数点不进行处理 * * @param str * 源BigDecimal ... * @return 加/解密后的BigDecimal
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
JavaScript解决高精度数字运算。
当 BigDecimal 值大于 Integer.MAX_VALUE 时,intValue() 方法将抛出 java.lang.ArithmeticException 异常。例如,在上面的示例代码中,若输入的 BigDecimal 值为 2147483648 时,intValue() 方法将抛出“Out of ...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装