Получилось вот так, подсказку открыл, когда уже решил поставленную задачу.
let number = 999000;
let quantity = 1;
while (number > 1) {
if (number >= 100000 && number <= 999999) {quantity++}
else if (number >= 10000 && number <= 99999) {quantity++}
else if (number >= 1000 && number <= 9999) {quantity++}
else if (number >= 100 && number <= 999) {quantity++}
else if (number >= 10 && number <= 99) {quantity++}
number = Math.floor(number * 0.1);
}
console.log (quantity)
Оптимизировал:
let number = 88123;
let quantity = 0;
while (number > 0) {
quantity++
number = Math.floor(number * 0.1);
}
Я что-то сразу так пошел, в голову решение через умножение пришло. По факту все работает одинаково, но даже в подсказке написано делить число на 10. Не могу понять что проще
if(number % 1 === 0){
for(let i = 1; i <= number; i *= 10 ){
quantity ++;
}
}else{
console.log('число не целое');
}
let number = 123.4;
let quantity = 0;
// На случай не целого числа округляем его;
let math = Math.round(number);
// Приводим к типу string и считаем длину строки.
quantity = String(math).length
let number = 123;
let quantity = 0;
// Преобразуем число в строку и затем разбиваем на массив символов
let numberStr = String(number);
let numberChars = numberStr.split('');
// Перебираем массив символов и увеличиваем счетчик quantity для каждого символа, который является цифрой
for (let i = 0; i < numberChars.length; i++) {
if (!isNaN(numberChars[i])) { // Проверяем, является ли символ цифрой
quantity++;
}
}
console.log(quantity); // Выводим результат в консоль