【问题标题】:Javascript ParseInt with positive and negative numbers带有正数和负数的 Javascript ParseInt
【发布时间】:2019-08-29 17:52:19
【问题描述】:
String x = "{"val" : 34, "gain": -23}"

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

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

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

【问题讨论】:

    标签: javascript string parseint


    【解决方案1】:

    您应该做的最简单的事情就是解析 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,'')))

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        x.split("增益")[1]; // 返回类似 " : -23 parseInt(x.split("gain")[1]); // 返回 NaN

        替换 : 并修剪字符串

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

        或者

        将x值改为合适的对象

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

        然后像x.gain一样获得增益,这将返回 - 23

        【讨论】:

          猜你喜欢
          • 2013-07-23
          • 2011-03-29
          • 1970-01-01
          • 1970-01-01
          • 2023-03-24
          • 1970-01-01
          • 1970-01-01
          • 2012-05-11
          • 1970-01-01
          相关资源
          最近更新 更多