我正在做的是用
获取用户输入var x = document.getElementById('id');
由于舍入误差,输出为整数,因此1.34为134,我用
显示id.innerHTML = '$'.concat(amount / 100);
它正确地显示“$ 1.32”但我不希望“$ 1.3”为一致性。 所以我的问题是检测“$ 2.6”的最佳方法是什么,例如最后需要“0”,而“$ 2.53不是?”我该如何实现呢?
答案 0 :(得分:1)
使用Number.prototype.toLocaleString
:
function formatUSD(value) {
return value.toLocaleString(['en-US'], {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2,
maximumFractionDigits: 2
});
}
id.textContent = formatUSD(amount / 100);
您可能还想使用像big.js这样的库而不是浮点数。
答案 1 :(得分:0)
在要格式化的数字的末尾尝试.toFixed(2)
答案 2 :(得分:0)
试试这个:
id.innerHTML = '$'.concat((amount / 100).toFixed(2));
它会将数字转换为带有指定小数位数的字符串。
答案 3 :(得分:0)