作者miau (米奥)
看板Flash
标题[问题] as3的小数计算错误!?
时间Fri Mar 18 17:29:36 2011
这个问题是在写计算机的时候发现的,
已经写好加减乘除等於,用整数测试都没有问题,
但是用小数测的时候却不时会发生问题,
本来还以为我为什麽写出这种烂程式,连问题在哪里都找不到..
只要是x.8或x.3-0.1算出来都会是错的答案
後来真的找不到 一气之下我写了
trace(0.3-0.1);
没想到跑出来的是
0.19999999999999998
...怎麽会这样!!国小数学耶!!!!!竟然会算错!!
在板上找不到相关资料,於是咕狗到一个相关的讨论串:
http://www.kirupa.com/forum/showthread.php?t=247416
不过第一个连结已经连不到了,後面说可以四舍五入
但我要做的是计算机...总不能说这个计算机只能四舍五入到小数点下一位吧!
真是太瞎了>"<
有没有人知道要怎麽解决呢...非常感谢 O___Q
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 221.120.64.121
2F:→ aquarianboy:你如果知道浮点数有这样的特性就不会惊讶了 : 03/18 21:16
3F:推 ooopooo:小数後面的值一定要被舍去或进位 03/18 21:51
4F:→ samuelcdf:请重新阅读计算机概论 :P 03/19 19:36
5F:推 peacedove:然後自己写adder吗XDDD 03/19 21:16
6F:推 StranGhost:一楼的文章真不错~~~ 03/20 15:45
7F:推 sin282:value.toFixed(四舍五入位数); 03/21 15:16