使用javascript将十进制位置添加到数字中

时间:2012-07-17 14:24:26

标签: javascript formatting decimal

我将这个数字作为整数439980

我想在右边2个地方放一个小数位。使其成为4399.80

字符数可以随时更改,所以我总是需要它从右边开始是2位小数。

我该怎么做?

感谢

2 个答案:

答案 0 :(得分:29)

function insertDecimal(num) {
   return (num / 100).toFixed(2);
}

答案 1 :(得分:4)

只需添加toFixed()将返回一个字符串值,因此如果您需要一个整数,则需要多一个过滤器。实际上,您可以使用Number()从nnnnnn函数中包装返回值以获取整数:

function insertDecimal(num) {
   return Number((num / 100).toFixed(2));
}

insertDecimal(99552) //995.52
insertDecimal("501") //5.01

这里唯一的问题是JS将删除尾随' 0,因此439980将返回4399.8,而不是4399.80,因为您可能希望:

insertDecimal(500); //5

如果您只是打印结果,那么nnnnnn的原始版本可以完美运行!

注释

JavaScript的Number函数可能会导致某些输入出现一些非常意外的返回值。您可以放弃对Number的调用,并使用unary operators

将字符串值强制转换为整数
return +(num / 100).toFixed(2);

或乘以1,例如

return (num / 100).toFixed(2) * 1;

TIL:JavaScript的核心数学系统是kind of weird