@tenaro

Как удалить из строки лишние символы, чтобы получился float?

нужна регулярка, которая трансформирует произвольную строку в float
она должна проглатывать не только "." но и ","
есть у кого такая?

"00.0.s1" => 0.01
".0!20" => 0.02
"1,.2" => 1,2
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
@Dastan_UI
const toFloat = str => {
  let val = str.replace(/[^0-9,.]/g, '');
  return val.split('').reduce((str, num) => {
    if ([',', '.'].includes(num)) {
      if (str.indexOf(',') !== -1 || str.indexOf('.') !== -1) return str;
      if (!str) str += '0';
    }
    return (str += num);
  }, '');
};

console.log(
  toFloat('0.00s1'), //0.001
  toFloat('.0!20'), //0.020
  toFloat('1,.20') //1,20
);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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