alert(200.5*3);===>弹出:601.5//没问题
alert(200.56*3);===>
弹出这个货色出来:
求指点怎么算出来的呢?
js浮点计算需要谨慎啊,看楼上 0.3-0.2 != 0.2-0.1 就知道了,具体js高级编程里边有解释。
如果知道小数位数 可以取整再计算。如:200.56*100*3/100 = 601.68
顶!
你看过js高级编程?我准备买,不知道这本书怎么样,想听听你的观后感
@思思博士: 看过了,这本评价很高的。有js基础的前提下,这本是js进阶必备之书,多看。
可以直接入手第三版。《JavaScript高级程序设计》
这是因为200.56本身就是浮点数,浮点数本身就是不精确数字,所有运算后带一个尾数很正常。像C#里面的double之类的,你用了有些时候也会出现这种情况,所以C#里面还有decimal来表示精确数字。嗯,你应该学习点基础知识。
何为基础
@思思博士: 计算机基础,将计算机原理时会讲到CPU里面怎么表示浮点数及浮点数计算,这就是基础。
@ocean: 看来这位仁兄功力深厚啊,都研究到CPU了,受教了
@思思博士: 这都是大学里面学的基础知识
@Albert Fei: 顶!
@Albert Fei: 惭愧,大学荒废了
@思思博士: 好像是微机原因里面学的吧
@思思博士: 这都是大学里面很基础的课程,没什么高深的。很多人总是抱怨大学学的东西老旧,结果显示碰到问题就一筹莫展了。
0.3-0.2 != 0.2-0.1
这个例子很经典啊