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>
答案 0 :(得分:1)
你的问题是你没有正确使用总变量而是将其更改为值。我还移动了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"));