Как разобрать числа от различных форматов места действия?

Есть ли уже существующее решение, которое может разобрать все числа ниже?

"300.00"
"2.300,00"
"2,300.00"
4
nl ja de
В то время как поставляемые случаи тривиальны, чтобы нормализовать, что относительно 2.300 и 2,300 ? Что относительно 2' 300.0 и 1 02 300 ? (Если такие числа/случаи выходят за рамки этого вопроса тогда, он должен быть явно указан как таковой.)
добавлено автор user166390, источник

1 ответы

Попытайтесь использовать деньги драгоценный камень:

драгоценный камень $ устанавливает деньги

Тогда можно сделать:

require 'money'

test1 = Money.parse("300.00")
test2 = Money.parse("2.300,00")
test3 = Money.parse("2,300.00")

test1.currency # #
test1.amount # 300.0
test1.dollars # 300.0
test1.cents # 30000
test1.currency_as_string # USD
test1.separator # .
test1.thousands_separator # ,
test1.delimiter # ,

EDIT: the old money gem has split into two parts: money and monetize. The new money class only handles creating, manipulating and converting currencies between money objects.

Чтобы разобрать объекты (включая последовательности) в деньги объекты, , необходимо использовать превратить в деньги драгоценный камень вместо этого:

$ gem install monetize

Monetize.parse("USD 100")
Monetize.parse("£100")
Monetize.parse_collection("€80, $100")
5
добавлено
Спасибо за указание: "он старый денежный драгоценный камень разделился на две части: деньги и превращают в деньги"
добавлено автор luigi7up, источник
pro.ruby
pro.ruby
1 181 участник(ов)

Язык программирования Ruby Additional docs: https://rubyreferences.github.io/rubyref/ Invite: https://telegram.me/joinchat/Be4rsT2NuB3CyJaF26j1kA Кто хочет компилировать: @crystal_ru (его синтаксис основан на Ruby) Участник @proDOT

Ruby, Rails, Hanami | dry-rb
Ruby, Rails, Hanami | dry-rb
1 180 участник(ов)

https://telegram.me/rubyjob - Ruby Job По вопросам - @eugene_shved

Ruby School .us
Ruby School .us
1 045 участник(ов)

Чат-болталка для учеников руби-школы и не только. Правила: https://telegra.ph/Pravila-chata-Rubi-shkoly-03-13

Random Ruby Chat
Random Ruby Chat
589 участник(ов)

Правила публикации вакансий: https://t.me/codenamecrud/60865

Rubyata
Rubyata
333 участник(ов)

Коммюнити Ruby и Ruby On Rails Флуд не приветствуются. Вакансии можно публиковать только и ТОЛЬКО по пятницам с хештегом #вакансия.

Ruby Talks
Ruby Talks
236 участник(ов)

Национальная Флеймотека

RubyRush
RubyRush
189 участник(ов)

rubyrush.ru программирование для самых новичков

Rails Chat
Rails Chat
87 участник(ов)

You are welcome to discuss Ruby On Rails development process and other stuff