做项目的过程中涉及到小数问题的时候,一般我都用Double类型,但是经常出现*.999999998这种数据,然后自己再手动四舍五入,简直傻的要死. 明明就是一个1.51-1.38的问题,很简单怎么会得出这么古怪的数?该怎么做才不出现这种数?答案就是BigDecimal. Double类型的数据使用二进制表示的,它不可能将0.1或者10的其他任何次负幂,精确表示为一个有限长度的二进制小数.所以1.51-1.38出现0.13000000000000012的结果,如果是涉及到金钱的项目,这肯定不行的,…