【问题标题】:javascript if value is number to numberjavascript如果值是数字到数字
【发布时间】:2013-11-28 07:08:36
【问题描述】:

有什么方法可以检查值是否在数字范围内?就像我的例子:

if (battery.level == 70 to 100) {
  $('#battery').css('background-image', 'url("battery_full.png")');
}

它的语法是什么?感谢您的帮助。

【问题讨论】:

    标签: javascript jquery if-statement numbers


    【解决方案1】:
    if (battery.level >= 70 && battery.level <= 100) {
    

    【讨论】:

    • 附注'70%'不是数字,这里不能使用;您需要先将其转换为数字,使用 parseFloat('70%')
    • 感谢 Amadan,这是真的。但我认为Like my example: 他们正在使用Jquery,很可能battery.level 已经是一个数字属性,他们提出这个条件只是为了解释。我几乎可以肯定 jQuery 不会以字符串格式存储该属性。这个答案是基于这个假设
    • 谢谢,这真的很有帮助。
    【解决方案2】:

    类似的东西

    if ( value >= 70 && value <= 100)
    {
    }
    

    【讨论】:

      【解决方案3】:

      你可以这样做:

      function inRange(n, from, to) {
          return n >= from && n <= to;
      }
      
      if (inRange(battery.levelPercent, 70, 100))
      

      【讨论】:

        【解决方案4】:

        您可以勾选喜欢的号码

        if ( battery.level >= 70 && battery.level <= 100)
        {
        }
        

        不是字符串 喜欢 ('70%' to '100%')

        【讨论】:

          【解决方案5】:

          70% 实际上不是一个数字。但是,您可以通过将变量命名为 battery.levelPercent 并在需要输出时添加百分号来摆脱无效的 %

          然后,您可以像这样检查数字:

          if (typeof battery.levelPercent === "number") {
              if (battery.levelPercent >= 70 && battery.levelPercent <= 100) {
                  $('#battery').css('background-image', 'url("battery_full.png")');
          
              } // else, not in range
          
          } // else, not a number
          

          【讨论】:

            【解决方案6】:

            您最好从battery.level 中删除%,以便与number 进行比较。

            Live Demo

            level = battery.level.replace('%', '');    
            if (level >= 70 && level <= 100) {
              $('#battery').css('background-image', 'url("battery_full.png")');
            }
            

            您也可以使用parseFloatparseInt

            level = parseFloat(battery.level);    
            if (level >= 70 && level <= 100) {
              $('#battery').css('background-image', 'url("battery_full.png")');
            }
            

            【讨论】:

            • 为什么不parseIntparseFloat?嗯...:D
            • @Amadan 加号 (+) 使其成为整数。
            猜你喜欢
            • 1970-01-01
            • 2016-01-29
            • 2012-08-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-08-06
            • 2023-02-20
            • 2018-03-02
            相关资源
            最近更新 更多