java浮点运算问题 35

为什么java用浮点数进行运算时,结果回偏离正确值啊,一个本来等于0.01的运算,在java上运算会显示成0.009999999998,为什么会这样?要怎么解决呢?我是新... 为什么java用浮点数进行运算时,结果回偏离正确值啊,一个本来等于0.01的运算,在java上运算会显示成0.009999999998,为什么会这样?要怎么解决呢?我是新手,请大家讲的详细点,谢谢 展开
 我来答
沉西小0K
2013-06-12 · TA获得超过231个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:184万
展开全部
这么跟你说吧,对于浮点运算,跟处理器的运算机制相关,与高级语言无关。计算机处理的是数字信号,是离散的,是对模拟信号就行采样量化的。也就是说计算机运算的结果只能无限接近自然值,精度由位数决定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-06-12 · TA获得超过1243个赞
知道小有建树答主
回答量:2126
采纳率:55%
帮助的人:676万
展开全部
因为浮点数在计算机里用 尾数,阶码和基数表示。。。尾数被限定在0和1之间,但是小数转二进制(乘2取整)存在一个无穷的问题。所以计算机就只能算到尾数规定的23位。。。。而尾数决定精度,所以就是这样了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wolf_200
2013-06-12 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:84
采纳率:0%
帮助的人:81.4万
展开全部
原因就跟上面两个说的一样,如果要非常精准的计算就用BigDecimal吧,如果不要求太精准,可以用四舍五入的方式,百度一下,遍地都是
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maikegdl
2013-06-12 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:100
采纳率:100%
帮助的人:75.4万
展开全部
这是java的一个bug
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式