将逗号添加到输出



我创建了一个计算器,该计算器以特定的计算显示了节省的输出。我只需要用逗号格式化结果,并且要成为货币,因此在小数点之后不会显示所有数字。例如,结果是:

$ 2500.566695969我只希望它显示:$ 2,500.56

我希望这是有道理的,我尝试了几件事将逗号放在正确的位置,但没有任何效果。我对jQuery有些新,这是我第一次尝试这样的计算器。任何帮助都非常感谢。以下是我的代码。

function calculate() {
    var savingsVal = (jQuery('#savingsVal').val());
    var totalSavings = 0;
    var regType = (jQuery('#reg-type').val());
    if (filterValues(savingsVal)) {
        totalSavings = savingsVal * 0.15 * 3 - regType * 3;
    }
    jQuery('#totalSavings').val('$' + totalSavings);
}

function filterValues(eVal) {
    return true;
}
jQuery('.results-area').hide();
jQuery('#calculator').submit(function(e) {
    e.preventDefault();
    calculate();
    jQuery('.results-area').show("slow");
    jQuery(this).text( jQuery(this).submit().replace(/(d)(?=(ddd)+(?!d))/g, "$1,") );
});

这看起来有些令人讨厌,但下面是一个工作功能。

它接受包含一个数字的字符串。字符串是否包含'$'都没关系。

它返回一个带有逗号格式的字符串,而没有前面的'$',但这很容易添加。

function toCurrency(str) {
    let ret = parseFloat(str[0] === '$' ? str.substr(1) : str).toFixed(2).toString().replace(/B(?=(d{3})+(?!d))/g, ",");
    if (!isNaN(ret))
	return str;
    return ret;
}
let elem = document.getElementById('money');
elem.innerHTML = '$' + toCurrency(elem.innerHTML);
<p id="money">$2500.566695969</p>

您可以在替换函数中尝试/(d)(?=(d{3})+(?!d))/g, "$1,"而不是当前的正则义务。

相关内容

  • 没有找到相关文章

最新更新