@heatshot13

Почему не работает js код?

var number = 12;
var quantity = 0;

while (number != 0) {
            quantity++;
            number /= 10;
        }
console.log(quantity);

//На выходе 325 а не 2

код должен выводить количество цифр в номере )))
  • Вопрос задан
  • 125 просмотров
Решения вопроса 2
dollar
@dollar
Делай добро и бросай его в воду.
Потому что 12 / 10 равно 1.2, а не 1
Деление происходит до тех пор, пока показатель степени не кончится.
То есть у вас число 0.00000000000000000000000000000000000000012,
только нулей больше 300 штук. И оно не равно нулю.

Используйте Math.floor(number), чтобы привести к целому.
Ответ написан
Комментировать
var i = 12;
console.log(new String(i).length)

В самом простом случае с целыми числами подойдёт приведение к строке и получение её длины.
Для отрицательных и натуральных чисел также можно найти подобное решение
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы