Извлечение целого числа из строк, представляющих значения валютJquery

Программирование на jquery
Ответить
Anonymous
 Извлечение целого числа из строк, представляющих значения валют

Сообщение Anonymous »

У меня есть поток строк, представляющих значения валют, из которого мне нужно извлечь целые числа.

Эти строки могут содержать или не содержать такие символы, как "$", "€", "-", пробел "." и «», которые могут чередоваться для отдельных десятичных дробей и групп цифр.
Это примеры строк и значений, которые мне нужно извлечь из них:

Код: Выделить всё

"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, '');
но результат «$ 234,234,55» равен 23423455, а мне нужно 234234 без десятичных знаков. Думаю, мне нужно сначала разобраться с десятичными дробями.

И у меня также есть случаи, когда десятичные дроби разделяются символами "," или "." и может состоять из 3 цифр, например: «1.365.823,803» или «12244.222».

В тех случаях, когда у меня есть «123.444», что заставляет меня знать, что «." не для десятичных дробей, то, что число никогда не меньше 10000.

Как реализовать функцию для извлечения этих чисел?

РЕДАКТИРОВАТЬ:

Я думаю, первым шагом будет удаление всех символов, кроме "," или ".".

Затем мы можем найти десятичный символ, ища первый символ из левый.

Если оно идет после двух цифр, мы знаем, что это десятичный символ.

Если он идет после трех цифр, мы ищем следующий символ, чтобы увидеть, отличается ли он.

Если он такой же, как первый, это не десятичный символ.

Если он отличается, то первый символ является десятичным.

Если другого символа нет, мы знаем, что первый символ десятичный, потому что все числа превосходят 1000, поэтому, если у нас есть 1233,444, мы знаем "." это десятичный символ.

Подробнее здесь: https://stackoverflow.com/questions/378 ... ncy-values
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»