Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Программирование
+1

Как преобразовать строку '1 хлеб, 0.5 молока' в число 105 с помощью функции parseInt() ?

По дате
По рейтингу
Аватар пользователя
Новичок

Откуда я знаю

Аватар пользователя
Оракул
12345678910111213141516171819202122
 function extractNumberFromString(input) { 
  // Если входное значение уже является числом, преобразуем в строку 
  let string = typeof input === 'number' ? input.toString() : input; 
 
  let numberString = ''; 
  for (let i = 0; i < string.length; i++) { 
    const char = string[i]; 
    // Пропускаем точку, но конвертируем числа 
    if (char === '.' || Number.isNaN(parseInt(char))) { 
      continue; 
    } 
    numberString += char; 
  } 
 
  // Преобразуем собранную строку в число 
  return parseInt(numberString, 10); 
} 
 
// Пример использования 
console.log(extractNumberFromString('1 хлеб, 0.5 молока')); // Должно вывести 105 
 
 
Аватар пользователя
Мудрец

let str = "1 хлеб, 0.5 молока".split('');
let result = parseInt(str.filter((str) => !isNaN(str) && str != ' ').join(''))
console.log(result);

Аватар пользователя

Итерационно перебрать все символы, переписывая этой функцией сначала в строку, потом пропарсить получившейся результат уже в числовую переменную.

Аватар пользователя
Просветленный

Режешь батон, кладёшь колбаску и запиваешь кефиром и потом тебе уже всё равно будет.