问题描述
在开发中遇到需要某个数值需要*100保留两位小数,当时的操作是:
text.toFixed(4)*100 + '%'
但出现了有些小数无法保存两位
解决方法
修改代码
(text*100).toFixed(2)
原因
计算机是以二进制保存的,出现问题的写法是因为保留4位小数之后值*100,这个值在计算机里存储并转化为十进制就会不能真正保留两位小数。所以应该在最后操作toFixed(2)来保留两位小数
在开发中遇到需要某个数值需要*100保留两位小数,当时的操作是:
text.toFixed(4)*100 + '%'
但出现了有些小数无法保存两位
修改代码
(text*100).toFixed(2)
计算机是以二进制保存的,出现问题的写法是因为保留4位小数之后值*100,这个值在计算机里存储并转化为十进制就会不能真正保留两位小数。所以应该在最后操作toFixed(2)来保留两位小数