永发信息网

我用java做了一个计算器,但做3.1-3=0.1000000000009.为什么?

答案:3  悬赏:40  手机版
解决时间 2021-04-05 18:24
  • 提问者网友:疯子也有疯子的情调
  • 2021-04-05 00:12
我用java做了一个计算器,但做3.1-3=0.1000000000009.为什么?
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 2021-04-05 01:17
数字类型都改成BigDecimal就可以啦~不要用double或者float,这个在精确计算时就会出现你这样的问题
全部回答
  • 1楼网友:何以畏孤独
  • 2021-04-05 02:12
判断小数点后面的个数,再结果中取相应的位数
  • 2楼网友:神也偏爱
  • 2021-04-05 01:55
计算机表示浮点数是用二进制表示的,会有一些很小的误差,所以在显示的时候注意只取需要的精度就好了。追问那应该怎么设置精度?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯