JavaScript 将数字格式化为货币

示例

快速和简短的方式将类型的值格式化Number为货币,例如1234567.89 => "1,234,567.89":

var num = 1234567.89,

    formatted;

formatted = num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');  // "1,234,567.89"

更高级的变体,支持任何小数位数[0 .. n],数字组的可变大小[0 .. x]和不同的定界符类型:

/**

 * Number.prototype.format(n, x, s, c)

 * 

 * @param integer n: length of decimal

 * @param integer x: length of whole part

 * @param mixed   s: sections delimiter

 * @param mixed   c: decimal delimiter

 */

Number.prototype.format = function(n, x, s, c) {

    var re = '\\d(?=(\\d{' + (x || 3) + '})+' + (n > 0 ? '\\D' : '$') + ')',

        num = this.toFixed(Math.max(0, ~~n));

    return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), '$&' + (s || ','));

};

12345678.9.format(2, 3, '.', ',');  // "12.345.678,90"

123456.789.format(4, 4, ' ', ':');  // "12 3456:7890"

12345678.9.format(0, 3, '-');       // "12-345-679"

123456789..format(2);               // "123,456,789.00"

           

以上是 JavaScript 将数字格式化为货币 的全部内容, 来源链接: utcz.com/z/343173.html

回到顶部