Owe*_*wen 20 javascript formatting decimal
我把这个数字作为整数439980
我想在右边2个位置放一个小数位.使其成为4399.80
字符数可以随时改变,所以我总是需要它从右边开始是2位小数.
我该怎么办呢?
谢谢
nnn*_*nnn 31
function insertDecimal(num) {
return (num / 100).toFixed(2);
}
Run Code Online (Sandbox Code Playgroud)
只需添加 toFixed() 将返回一个字符串值,因此如果您需要一个整数,则需要再增加 1 个过滤器。实际上,您可以使用 Number() 包装 nnnnnn 函数的返回值来获取整数:
function insertDecimal(num) {
return Number((num / 100).toFixed(2));
}
insertDecimal(99552) //995.52
insertDecimal("501") //5.01
Run Code Online (Sandbox Code Playgroud)
这里唯一的问题是 JS 会删除尾随的 '0',因此 439980 将返回 4399.8,而不是您可能希望的 4399.80:
insertDecimal(500); //5
Run Code Online (Sandbox Code Playgroud)
如果您只是打印结果,那么 nnnnnn 的原始版本可以完美运行!
JavaScript 的 Number 函数可能会导致某些输入产生一些非常意外的返回值。您可以放弃对 Number 的调用,并使用一元运算符将字符串值强制转换为整数
return +(num / 100).toFixed(2);
Run Code Online (Sandbox Code Playgroud)
或乘以 1 例如
return (num / 100).toFixed(2) * 1;
Run Code Online (Sandbox Code Playgroud)
TIL:JavaScript 的核心数学系统有点奇怪