BigDecimal是一个非常好用的表示高精度数字的类,其中提供了很多丰富的方法。

但是,他的equals方法使用的时候需要谨慎,因为他在比较的时候,不仅比较两个数字的值,还会比较他们的精度,只要这两个因素有一个是不相等的,那么结果也是false、

如果读者想要对两个BigDecimal的数值进行比较的话,可以使用compareTo方法。

在开发中如果对BigDecima做赋值操作的时候就需要事先对BigDecima做是否为null的校验不然程序会报空指针异常,

 

 

if(BigDecima !=null){ 

}


BigDecimal,相信对于很多人来说都不陌生,很多人都知道他的用法,这是一种java。math包中提供的一种可以用来进行精确运算的类型。

很多人都知道,在进行金额表示、金额计算等场景,不能使用double、float等类型,而是要使用对精度支持的更好的BigDecimal。

所以,很多支付、电商、金融等业务中,BigDecimal的使用非常频繁。而且不得不说这是一个非常好用的类,其内部自带了很多方法,如加,减,乘,除等运算方法都是可以直接调用的。

除了需要用BigDecimal表示数字和进行数字运算以外,代码中还经常需要对于数字进行相等判断。

在最新版的《阿里巴巴Java开发手册》中也有说明:

之所以equals比较bigDecimal4和bigDecimal5的结果是false,是因为精度不同。

 

 

那么,为什么精度不同呢?为什么bigDecimal2和bigDecimal3的精度是一样的(当使用int、double定义BigDecimal时),而bigDecimal4和bigDecimal5却不一样(当使用String定义BigDecimal时)呢?

 

为什么精度不同

 

 

这个就涉及到BigDecimal的精度问题了,这个问题其实是比较复杂的,由于不是本文的重点,这里面就简单介绍一下吧。大家感兴趣的话,后面单独讲。


上一篇:permissiondenied怎么解决python
下一篇:迅搜站群网程序下载,迅搜站群是否值

篮球运动损伤调查问卷表

三个有利于标准

阳过了病毒是否在衣物上有残留

新冠吃药清单预防药方是否靠谱

各项工作总的出发点和检验标准主要看是否

迅搜站群网程序下载,迅搜站群是否值

MJT道德判断两难故事测验问卷

基于中频信号的家用治疗...

信息技术茬旅游专业教學...

摩羯座运势2022,摩羯座...

浅谈岗位廉洁教育的方法与途径【3858字】

湖南长沙市生育津贴政策...

旅游英语推进邢台市旅游...

浅议体态律动在小学音乐课堂教学中的运用

羟肟类萃取剂对嗜酸氧化...

试析多元智能理论茬体育...

PF--1415反击式破碎机箱体设计开题报告