我使用的是 Handlebars v3.0.3。我试图获得一个带有千位分隔符和 2 个小数点的值。在 javascript 中,这很简单,但由于某种原因,在呈现模板时,它会删除逗号的分隔符。
这是车把助手
Handlebars.registerHelper ("toFixed", function (aValue, aDigits) {
if (!aDigits) {
aDigits = 2;
}
if (!isNaN (aValue) && Number.isInteger (Number (aDigits))) {
aValue = new Intl.NumberFormat ("en-US", { minimumFractionDigits : aDigits, maximumFractionDigits : aDigits }).format (aValue);
}
return aValue;
});
那么模板就是
<div>{{toFixed dailyAmount}}</div>
<div>{{toFixed totalAmount}}</div>
如果我在控制台中运行该函数,它会按预期显示数量,例如“3012.2”将变成“3,012.20”。但是当它在模板中呈现时,它会显示“3012.20”。当我尝试执行 aValue = aValue.replace (/\B(?=(\d{3})+(?!\d))/g, ',');
或尝试执行 return aValue.toString();
时,我得到了相同的结果。有什么建议吗?