Эти строки могут содержать или не содержать такие символы, как "$", "€", "-", пробел "." и «», которые могут чередоваться для отдельных десятичных дробей и групп цифр.
Это примеры строк и значений, которые мне нужно извлечь из них:
Код: Выделить всё
"1,423,433.00" = 1423433
"1.355,22€" = 1355
" CAD$764.35" = 764
"$734242" = 734242
"$ 234.234,55" = 234234
"545,767$" = 545767
"765 778 00" = 765778
"765.823,888" = 765.823
Код: Выделить всё
.replace(/[^\d]/g, '');
И у меня также есть случаи, когда десятичные дроби разделяются символами "," или "." и может состоять из 3 цифр, например: «1.365.823,803» или «12244.222».
В тех случаях, когда у меня есть «123.444», что заставляет меня знать, что «." не для десятичных дробей, то, что число никогда не меньше 10000.
Как реализовать функцию для извлечения этих чисел?
РЕДАКТИРОВАТЬ:
Я думаю, первым шагом будет удаление всех символов, кроме "," или ".".
Затем мы можем найти десятичный символ, ища первый символ из левый.
Если оно идет после двух цифр, мы знаем, что это десятичный символ.
Если он идет после трех цифр, мы ищем следующий символ, чтобы увидеть, отличается ли он.
Если он такой же, как первый, это не десятичный символ.
Если он отличается, то первый символ является десятичным.
Если другого символа нет, мы знаем, что первый символ десятичный, потому что все числа превосходят 1000, поэтому, если у нас есть 1233,444, мы знаем "." это десятичный символ.
Подробнее здесь: https://stackoverflow.com/questions/378 ... ncy-values
Мобильная версия