BigDecimal实现精确计算原理

BigDecimal实现精确计算原理

我们在金融项目中,计算金额最常用的数据类型是BigDecimal,它可以帮助我们实现对金额的精确计算。那它实现精确计算的原理是啥呢?

我们知道计算机中的浮点数,double,float存储的浮点数,可能不是一个准确的数,而是接近这个数的一个近似数。

比如:double a = 2.13。

实际:2.1300000000001

那BigDecimal如何实现精确计算呢?

其实原理也很简单,计算时,先成于10的N次方,先把小数都变成整数,整数存储是没有精度问题的,做完了相应的运算之后,再除以10的N次方。


版权声明:本文为jianliang_xu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。