Как убрать у числа пробел JS

167
27 декабря 2021, 03:30

Есть функция parseInt(max30, 10); преобразует строки вида 1100 в число. Но бывает встречается стока записанная вот так 1 100, пробел мешает, выдает NaN... Как можно преобразовать строки такого вида в число? Заранее спасибо.

Answer 1

Вот так. С помощью регулярного выражения. Приведу полный код документа.

var s="1 1100"; 
s = s.replace(/\s/g, ''); 
document.write(s); 
console.log(s);

Answer 2

Так же можно и без регулярок, но еще нужно выяснить что лучше:

let s = '1 1100'; 
s = +s.split(' ').join(''); 
document.write(s); 
console.log(s);

Answer 3

function parse(x) { 
  var res = +x; 
  return res === res ? res : +(""+x).replace(/\s/g, "") 
} 
 
console.log([ 
  123, "123", "1 234", "-2.5", 
  0, "0", "", null, 
  undefined, NaN, "null", "qwe", 
].map(parse).join(" "))

Answer 4

Вместо удаления пробелов из строки - я бы сделал удаление всех нечисловых символов (исключая минус, и точку как разделитель целой и дробной частей числа), а затем взятие числа до точки... то есть, заодно еще и операцию floor выполнив. Имхо, это более целесообразно.

for (const s of ['1 100', '-$12,000', '\n123abc', '45.678']) 
  console.log(parseIntEx(s));  
 
function parseIntEx(val) { 
  const match = val.replace(/[^\d.\-]/g, '').match(/^(-?\d+)(?:\.)?/);  
  return (match || [0, null])[1];  
}

Единственное "но": при входной строке вида 'ab-cd123', результат будет некорректен: -123. Такой случай можно обработать, но ценой усложнения.

READ ALSO
запуск скриптов php и js по кнопке

запуск скриптов php и js по кнопке

Имеется кнопка, при нажатии на которую происходит php скрипт, на добавление данных в базу данныхТак же по этой кнопке вызывается js скрипт, со всплывающим...

102
Как компилятор понимает, где одна переменная, а где другая?

Как компилятор понимает, где одна переменная, а где другая?

Почему если при создании объектов указать перед значением (short), то компилятор понимает, в какую переменную записать это значение?

256
Swagger - ошибка пути

Swagger - ошибка пути

В Swagger есть проблема на вызов реста возвращающий List<Map<String, Object>> (вверху появляется сообщение)

138
Переход по неделям по нажатию на кнопки

Переход по неделям по нажатию на кнопки

Как сделать навигацию по неделям как на скриншоте? Нажимаем вперёд переключаемся на следующую неделю, если назад то на предыдущую?

179