Node / JavaScript中是否有一种方式表示应始终使用.toFixed(2)
返回变量。 I.E.货币类型。
请参阅以下示例函数:
let PER_SHARE_COMMISSION = 0.005; // USD
let MINIMUM_COMMISSION_PER_ORDER = 1.00; // USD
let MAXIMUM_PERCENT_OF_ORDER = 0.005; // 0.5%
exports.commission = function(price, shares) {
let commish = shares * PER_SHARE_COMMISSION;
if(commish < MINIMUM_COMMISSION_PER_ORDER) {
return MINIMUM_COMMISSION_PER_ORDER.toFixed(2);
}
var maxCommish = shares * price * MAXIMUM_PERCENT_OF_ORDER;
if(commish > maxCommish) {
return maxCommish.toFixed(2);
}
return commish.toFixed(2);
};
了解在返回值之前我必须手动将.toFixed(2)
置于任何位置。这很容易出错。这周围有模式吗?
答案 0 :(得分:0)
这基本上是我正在寻找的解决方案:
currency(1) // "1.00"
currency(23.3433) // "23.34"
currency(87.3987) // "87.40"
currency(12342.453) // "12342.45"
function currency(input) {
return new Intl.NumberFormat('en-US', {
style: 'decimal',
currency: 'USD',
minimumFractionDigits: 2,
maximumFractionDigits: 2,
useGrouping: false
}).format(input);
}