【发布时间】:2016-09-09 21:06:21
【问题描述】:
我有一个数字 5850,我需要将其格式化为美元。
示例 1:
5850 => 58.50 美元
示例 2:
9280 => 92.80 美元
我正在使用以下功能:
Number.prototype.formatMoney = function(decPlaces, thouSeparator, decSeparator) {
var n = this,
decPlaces = isNaN(decPlaces = Math.abs(decPlaces)) ? 2 : decPlaces,
decSeparator = decSeparator == undefined ? "." : decSeparator,
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) : "");
};
上面的函数给了我$5,850.00。
【问题讨论】:
-
你最好只使用字符串操作,因为无论如何你都是以字符串为目标的。将 5850 转换为字符串,去掉最后两个字符(成为“美分”),然后在剩下的部分插入逗号。将两部分结合起来,完成。
标签: javascript format currency