Javascript 带正负数的ParseInt

Javascript ParseInt with positive and negative numbers

String x = "{"val" : 34, "gain": -23}"

如何从字符串中获取正数或负数。我正在尝试:

x.split("gain")[1]; // returns something like " : -23

parseInt(x.split("gain")[1]); // returns NaN

您不想使用 JSON.parse(x)['gain'] 吗?

let x = `{"val" : 34, "gain": -23}`
let gain = JSON.parse(x)['gain'];

console.log(gain);

您应该做的最简单的事情是解析 JSON 和访问值

let x = `{"val" : 34, "gain": -23}`

console.log(JSON.parse(x).gain)

您需要在使用 parseInt

解析之前删除任何无效数字,从而将字符串更改为可解析状态
[^+-\d]+ 

上面的模式意味着匹配除+, - or any digit之外的任何内容,然后我们用空字符串

替换匹配的值

let x = `{"val" : 34, "gain": -23}`.split("gain")[1]

console.log(parseInt(x.replace(/[^+-\d]+/g,'')))

字符串 x = "{"val" : 34, "gain": -23}"

如何从字符串中获取正数或负数。我正在尝试:

x.split("gain")[1]; // returns 类似于 " : -23 parseInt(x.split("gain")[1]); // returns NaN

替换 : 和 trim 字符串

let s = x.split("gain")[1].replace(":", "").trim();

parseInt(s);

将 x 值更改为合适的对象

let x = { val : 34, gain : - 23}

然后获得 x.gain 中的增益,这将 return - 23