如何在Javascript中填充浮点数并限制最大位数

时间:2013-11-25 00:52:04

标签: javascript jquery node.js underscore.js

如何用零填充浮点右键

  1. 填充后的位数为7
  2. 将零填充到小数点.
  3. 的右侧
  4. 从右侧
  5. 截断超过7位的数字

    .toFixed(6)忽略小数点.之前的位数。

    输入

    9.123
    9.123456
    6.12345678
    100.1
    

    输出

    9.123000
    9.123450
    6.123456
    100.1000    // truncated from the right
    

3 个答案:

答案 0 :(得分:2)

n.toFixed(5).substring(0, 7)

对于任何100000或更高的东西,它都会失败。

答案 1 :(得分:1)

这是我想要聪明:

Number.prototype.toTotallyFixed = function(n) {
    var s = this.toString(), a = (s + (s.indexOf('.') != -1 ? '' : '.0')).split('.');
    return a[0].length > n ? s.slice(0,n) : a[0] + (+('.'+a[1])).toFixed(n - (a[0].length-1)).slice(1);
}

FIDDLE

答案 2 :(得分:1)

请注意,结果是一个字符串:

var n = 9.123 + '';
if (n.length < 8) {
    n += new Array(9 - n.length).join('0');
} else if (n.length > 8) {
    n = n.slice(0, 8);
}