我有多种货币输入,即$ 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));