JavaScript 美国货币格式

JavaScript US Currency Formatting

本文关键字:格式 货币 美国 JavaScript      更新时间:2023-09-26

JSFiddle 中的 JS 函数返回 ($6.48),但是在 chrome 中使用时返回 -$6.48

function formatCurrency(value) {    
    var neg = false;
    value = parseFloat(value, 10).toFixed(2);
    if (value < 0) {
        neg = true;
        total = Math.abs(value);
    }
    value = value.replace(/('d)(?=('d{3})+'.)/g, "$1,").toString();
    return (neg ? '($' + value.replace('-', '') + ')' : '$' + value);
}
alert(formatCurrency("-6.4784"));

我正在尝试使用一个函数来格式化货币,同时返回括号中的负值。

用于呈现div 的代码的简化版本如下所示。

document.getElementById("futureInfo").innerHTML = formatCurrency($(this).find("Variance").text());
<div id="futureInfo"></div>

您的问题是您没有正确使用总变量,我将其更改为值。 我还移动了 toString 函数,以便它将数字设置为字符串,以便替换可以正常工作。

function formatCurrency(value) {
    var neg = false;
    value = parseFloat(value, 10).toFixed(2);
    if (value < 0) {
    neg = true;
    value = Math.abs(value);
    }
    value = value.toString().replace(/('d)(?=('d{3})+'.)/g, "$1,");
    return (neg ? ('($-' + value + ')') : ('$' + value));
}
alert(formatCurrency("-6.4784"));