JavaScript, если значение число к номеру

0

Есть ли способ проверить, находится ли значение в диапазоне номеров? Как мой пример:

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

Какой синтаксис для этого? Спасибо за помощь.

Теги:
if-statement
numbers

6 ответов

3
Лучший ответ
if (battery.level >= 70 && battery.level <= 100) {
  • 1
    С примечанием, что « '70%' не является числом и не может использоваться здесь; сначала нужно преобразовать его в число, используя parseFloat('70%') .
  • 1
    Спасибо Амадан, это правда. Но я думаю, как Like my example: они используют Jquery, скорее всего, battery.level уже является числовым свойством, и они ставят это условие только для объяснения. Я почти уверен, что jQuery не будет хранить это свойство в строковом формате. Этот ответ основан на этом предположении
Показать ещё 1 комментарий
1

что-то вроде этого

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

Вы можете сделать это:

function inRange(n, from, to) {
    return n >= from && n <= to;
}

if (inRange(battery.levelPercent, 70, 100))
  • 0
    +1 за функцию
0

70% на самом деле не число. Тем не менее, вы можете избавиться от недействительности %, battery.levelPercent вместо этого свою переменную 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
0

Вам лучше удалить % от уровня battery.level чтобы сравнить его с number.

Демо-версия

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

Вы также можете использовать parseFloat или parseInt

level = parseFloat(battery.level);    
if (level >= 70 && level <= 100) {
  $('#battery').css('background-image', 'url("battery_full.png")');
}
  • 0
    Почему не parseInt или parseFloat ? Хорошо ...: D
  • 0
    @Amadan знак плюс (+) делает его целым числом.
Показать ещё 1 комментарий
0

ВЫ МОЖЕТЕ ПРОВЕРИТЬ НОМЕР КАК

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

NOT STRING LIKE ('70%' to '100%')

Ещё вопросы

Сообщество Overcoder
Наверх
Меню