在 jQuery 中从价格中删除小数点、逗号和数字

The*_*Kid 2 javascript jquery

我试图确保这些组合中的任何一个 - 将始终显示没有小数或没有逗号的四舍五入数字。例子

1,200.00 should output = 1200
12.33 should output = 12
123.34 should output = 123
1,434 should output = 1434
165,33 should output = 165
250.00 should output = 250
259,00 should output = 259
Run Code Online (Sandbox Code Playgroud)

我努力了:

var currency = "$1,100.00";
var number = Number(currency.replace(/[^0-9\.]+/g,""));
Run Code Online (Sandbox Code Playgroud)

还有我的最新消息:

var priceTotal = parseFloat(price.replace( /[^\d\.]*/g, ''));
Run Code Online (Sandbox Code Playgroud)

但这对于逗号来说效果不佳。显示时必须始终不带逗号、点或最后一位数字。

Ran*_*osh 5

请使用/[^0-9\.]/g正则表达式替换逗号,使用indexOffor 查找逗号的位置并使用parseInt将该字符串转换为整数

请按照以下示例操作::

var a = '1,200.00';
var b = '12.33';
var c = '123.34';
var d = '1,434';
var e = '165,33';
var f = '250.00';
var g = '259,00';
$(document).ready(function () {
    parseNumberCustom(a);
    parseNumberCustom(b);
    parseNumberCustom(c);
    parseNumberCustom(d);
    parseNumberCustom(e);
    parseNumberCustom(f);
    parseNumberCustom(g);
});
function parseNumberCustom(number_string) {
    var new_number = parseInt(number_string.indexOf(',') >= 3 ? number_string.split(',')[0] : number_string.replace(/[^0-9\.]/g, ''));
    console.log('Before==>' + number_string + ', After==>' + new_number);
}
Run Code Online (Sandbox Code Playgroud)