在下面的代码段中,浮点错误是由相乘,并通过10在哪些情况下乘法和除法不能解决浮点错误?
除以没有一个解决了乘法和除法z的值出来作为0.30000000000000004
代替0.3
。
的方法“似乎”是不理想:
- 它对于每一个数字计算额外的开销。
- 额外的计算会导致额外的CPU消耗。
var x = 0.1;
var y = 0.2;
var z = (x * 10 + y * 10)/10;
document.getElementById("demo").innerHTML = z;
<p id="demo"></p>
问题:
- 能否开发商盲目地用这个地方浮动点使用的所有情况?
- 有没有这种情况下,这种乘法和除法方法不会解决浮动错误?
那如何解决任何问题?无论如何,你究竟想要解决什么问题? – Amit
您将不得不接受浮点有四舍五入错误。你得到正确*输出的事实并不意味着很多,你仍然有四舍五入的错误,但是它们太小而不显示。你很幸运。 –
@RudyVelthuis是'.toFixed'与'parseFloat'最好的[解决](http://stackoverflow.com/questions/34390608/in-which-cases-multiply-and-divide-will-not-solve-floating - 点 - 错误?noredirect = 1#comment56522886_34390697)? – xameeramir