我有多种货币输入,即$ 1,869.96。我需要将我的货币整数取整为1870美元,没有小数位。

我使用的正则表达式是

"$"+ a.toFixed(0).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");


任何人都可以帮助我修改现有的值以将值取整为整数而没有小数位。谢谢。

最佳答案

尝试这个:



    function formatVal(a){
    var c = '';
    if(a.toString().indexOf('$') !== -1){
        a = Math.round(Number(a.toString().replace(/[^0-9\.-]+/g,"")));
        if (isNaN(a)){
            c=a;
        }else {
            c ="$"+a.toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, '$&,');
            if(c == '$0'){ c = "";}
        }
    }
    return c;
}

console.log(formatVal('$1,869.96'));
console.log(formatVal('$1,869'));
console.log(formatVal('sssss'));
console.log(formatVal(42));

10-06 04:14