五百亿建站模板重庆建工集团股份有限公司官网
news/
2025/9/24 4:28:21/
文章来源:
五百亿建站模板,重庆建工集团股份有限公司官网,揭阳网站建设模板,pc网站建设有什么功能BigDeciaml1. BigDecimal1. BigDecimal
我们知道#xff0c;关于金钱相关的计算#xff0c;都用BigDeciaml数据类型, 来表示金额。所有关于金额的项目中不能缺少它的使用。 而我今天说说用这个类型#xff0c;踩到的坑。
金额比较问题 带精度不适用equals比较。使用compar…
BigDeciaml1. BigDecimal1. BigDecimal
我们知道关于金钱相关的计算都用BigDeciaml数据类型, 来表示金额。所有关于金额的项目中不能缺少它的使用。 而我今天说说用这个类型踩到的坑。
金额比较问题 带精度不适用equals比较。使用compareTo比较精度。如0和0.00比较。 public class BigDecimalDemo {public static void main(String[] args) {BigDecimal a new BigDecimal(0.00);BigDecimal b new BigDecimal(0);System.out.println(a.compareTo(b) 0); // trueSystem.out.println(a.equals(b)); // false}
}
除法问题。 根据业务不同要四舍五入。要保留两位小数把两位小数后面的零头给去掉。不能整除的会抛异常需要指明除法策略。
// 去掉零头参考RoundingMode
BigDecimal res new BigDecimal(888).divide(new BigDecimal(233), 2, RoundingMode.DOWN);
System.out.println(res); // 3.81如RoundingMode.HALF_UP四舍五入。
如果是页面需要百分数可以考虑保留小数点后四位。结合实际业务进行取舍。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914839.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!