格式编号为美元

时间:2016-09-09 21:06:21

标签: javascript format currency

我有一个 5850 的数字,我需要将其格式化为美元。

示例1:

  

5850 => $ 58.50

示例2:

  

9280 => $ 92.80

我正在使用以下功能:

i++;
lett++;

以上功能为我提供了 $ 5,850.00

3 个答案:

答案 0 :(得分:1)

你仍然可以使用相同的方法,只需稍微调整一下:

Number.prototype.formatMoney = function(decPlaces, thouSeparator, decSeparator) {
    var n = this,
        decPlaces = isNaN(decPlaces = Math.abs(decPlaces)) ? 2 : decPlaces,
        decSeparator = decSeparator == undefined ? "." : decSeparator,
        thouSeparator = '',
        thouSeparator = thouSeparator == undefined ? "," : thouSeparator,
        sign = n < 0 ? "-" : "",
        i = parseInt(n = Math.abs(+n || 0).toFixed(decPlaces)) + "",
        j = (j = i.length) > 3 ? j % 3 : 0;
    return sign + (j ? i.substr(0, j) + thouSeparator : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thouSeparator) + (decPlaces ? decSeparator + Math.abs(n - i).toFixed(decPlaces).slice(2) : "");
};

答案 1 :(得分:1)

我认为使用可以为您处理它的库会更容易。我使用currencyFormatter.js(https://osrec.github.io/currencyFormatter.js/) - 尝试一下。适用于所有浏览器,非常轻巧。它还会为您添加货币符号,并可以根据指定的区域设置进行格式化:

OSREC.CurrencyFormatter.format(2534234, { currency: 'INR' }); 
// Returns ₹ 25,34,234.00

OSREC.CurrencyFormatter.format(2534234, { currency: 'EUR' }); 
// Returns 2.534.234,00 €

OSREC.CurrencyFormatter.format(2534234, { currency: 'EUR', locale: 'fr' }); 
// Returns 2 534 234,00 €

答案 2 :(得分:0)

如果您对4位数以上的数字不太在意,可以使用类似

的数字
function dollars(n) {
  return (n+"").replace(/(\d{0,2})(\d{2}).*/, "$$$1.$2")
}