java0.1*3

朋友(coreyXu)上次面试回来,问了一个问题,0.1*3==0.3?返回true还是false,首先,能这么问的话,肯定返回的false,但是为什么会这样呢?
在这里插入图片描述
在这里插入图片描述
做了个测试,想到计算机是使用二进制的,但是二进制的小数转为十进制会有精度问题,具体比较复杂…
所以总结

浮点数进行运算的时候尽量使用BigDecimal类型进行处理!参考:BigDecimal注意

posted @ 2019-04-11 12:18  你就像甜甜的益达  阅读(44)  评论(0编辑  收藏  举报