利用js计算11.2-10.9时居然输出为1.29999999999997,让我很是头疼,如此简单的计算居然。。。
上网查资料知道这是由于javascript是一门弱类型的语言,从设计思想上没有对浮点型有个严格的数据类型,不像其他的C/C++/JAVA语言中已经封装好方法来避免此精度问题了
下面说一下我的解决方式:
我的功能中要满足的要求是保留两位小数就好,所以在这里直接
var price = 11.2-10.9;
price.toFixed(2);
结果为:1.30
就好了