Есть ли способ проверить, находится ли значение в диапазоне номеров? Как мой пример:
if (battery.level == 70 to 100) {
$('#battery').css('background-image', 'url("battery_full.png")');
}
Какой синтаксис для этого? Спасибо за помощь.
if (battery.level >= 70 && battery.level <= 100) {
что-то вроде этого
if ( value >= 70 && value <= 100)
{
}
Вы можете сделать это:
function inRange(n, from, to) {
return n >= from && n <= to;
}
if (inRange(battery.levelPercent, 70, 100))
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
Вам лучше удалить %
от уровня 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")');
}
parseInt
или parseFloat
? Хорошо ...: D
ВЫ МОЖЕТЕ ПРОВЕРИТЬ НОМЕР КАК
if ( battery.level >= 70 && battery.level <= 100)
{
}
NOT STRING LIKE ('70%' to '100%')
'70%'
не является числом и не может использоваться здесь; сначала нужно преобразовать его в число, используяparseFloat('70%')
.Like my example:
они используют Jquery, скорее всего, battery.level уже является числовым свойством, и они ставят это условие только для объяснения. Я почти уверен, что jQuery не будет хранить это свойство в строковом формате. Этот ответ основан на этом предположении