为什么乘以一些数字有时会得到一个稍大的数字?
Why does multiplying by some numbers sometimes return a slightly larger number?
当我这样做时,例如,14 * 0.2,我得到2.8000000000000003而不是2.8。
为什么会这样,我该如何修复它?
根据这个页面,字符串会自动截断末尾的0,所以我尝试了
var foo = 14 * 0.2;
console.log(foo.toFixed(3).toString());
但是它仍然以0结尾(2.800)
我不认为String
会去掉后面的0s
,但如果你将其转换为数字,那么它将忽略小数点后的后面的0s
。
var foo = 14 * 0.2;
console.log(+foo.toFixed(3));
您对toFixed
函数的调用将返回String
,而不是某种数字。并且在文档中特别提到这种String
表示具有尾随零。下一个对toString
的调用什么也不做。
相关文章:
- 递增一个数字而不去掉前导零
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 制作一个regex来验证只有一个数字的字符串
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 如何拆分一个整数和产生的所有数字来创建一个新数字
- 如何使用至少一个数字、一个大写字母和6-20个字符验证密码
- 当与另一个实例进行比较时,我的类实例如何隐式返回数字
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- 有没有办法在里面看到一个数字'的64位浮点IEEE754表示
- PHP函数识别3个数字中最低的一个并更改其类
- 我如何解析二's是一个数字的补码字符串
- 为什么我需要在这里输入var,为什么它会给我一个数字作为答案?(Javascript)
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- 如何获取一个以零开头的数字的位数
- 如何创建一个确定2个数字之间值的函数
- 当我添加一个新数字时,如何获得一些数字的即时平均值
- 为什么 JavaScript 如果一个数字有一个前导零,就将其视为八进制