我有一个 5850 的数字,我需要将其格式化为美元。
示例1:
5850 => $ 58.50
示例2:
9280 => $ 92.80
我正在使用以下功能:
i++;
lett++;
以上功能为我提供了 $ 5,850.00 。
答案 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")
}