龙空技术网

java中使用BigDecimal对象的几个建议,避免踩坑#编程

老魏说java 362

前言:

现在同学们对“java怎么把科学计数法转换成数字”大体比较关怀,看官们都需要知道一些“java怎么把科学计数法转换成数字”的相关内容。那么小编同时在网摘上汇集了一些对于“java怎么把科学计数法转换成数字””的相关资讯,希望各位老铁们能喜欢,兄弟们快快来学习一下吧!

BigDecimal对象使用的几个建议。

在java类的项目中,使用高精度的数学运算,我们常用java中的BigDecimal这个类进行运算,但是BigDecimal有几个使用建议。

·1:使用String类型的参数来构建BigDecimal对象。

·2:使用compareTo比较大小。

·3:建议使用toPlainString(),将BigDecimal转换为字符串,使用setScale方法设置精度的时候,它是不会改变原对象的,需要重新复制。

接下来通过代码演示看一下这几个问题,构建BigDecimal对象,一个是字符串类型的,一个是大包类型的,分别打印一下看一下效果。

通过控制台可以看到,打包类型丢失了精度,这是因为double类型只能保留有限的数字。当这个数字转化为BigDecimal对象时,精度可能丢失,所以建议使用String类型。这里有两个数,一个是2.0,一个是2.00。

然后通过equals和compareTo,分别比较一下它俩是否相等,运行一下看下效果。这里可以看到equals返回的是false,compareTo返回的是0,我们的预期结果是希望它俩是相等的,所以说这里应该选择compareTo,0代表相等,然后1:代表大于,-1代表小于。

这里分别通过两种方式,将a转换成String类型,咱们打印一下,看一下效果。通过结果可以看到toString方法会将这个数字变为科学计数法,所以建议使用toodanut,将BigDecimal转换成字符串,使用setScale方法保留两位小数。

执行一下,看一下效果。这里可以看到这个数字没有变,是因为setScale不会修改原有的对象,这里需要重新赋值,赋值一下,重新打印看一眼效果。重新复制后,可以看到已经保留两位小数了。

最后小伙伴们在使用BigDecimal还有哪些需要注意的地方,评论区讨论一下。点点关注!

标签: #java怎么把科学计数法转换成数字