在javascript中,如果它是一个整数而不是像“$ 1.32”那么,如何在“$ 1.3”结尾处显示“0”?

时间:2014-09-03 20:15:52

标签: javascript

我正在做的是用

获取用户输入
var x = document.getElementById('id'); 

由于舍入误差,输出为整数,因此1.34为134,我用

显示
id.innerHTML = '$'.concat(amount / 100);

它正确地显示“$ 1.32”但我不希望“$ 1.3”为一致性。 所以我的问题是检测“$ 2.6”的最佳方法是什么,例如最后需要“0”,而“$ 2.53不是?”我该如何实现呢?

4 个答案:

答案 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)