module
Money::Parse
Defined in:
money/money/parse.crInstance Method Summary
-
#parse(str : String, *, allow_ambiguous : Bool = true) : Money
Creates a
Moneyinstance from a string, or returnsnilon failure. -
#parse?(str : String, *, allow_ambiguous : Bool = true) : Money | Nil
Creates a
Moneyinstance from a string, or returnsnilon failure.
Instance Method Detail
Creates a Money instance from a string, or returns nil on failure.
Money.parse?("10.00 USD") # => Money(@amount=10.0, @currency="USD")
Money.parse?("$10.00") # => Money(@amount=10.0, @currency="USD")
Money.parse?("10.00") # => nil
If allow_ambiguous is true (default), returns the first
matching currency for ambiguous values, otherwise returns nil.
Money.parse?("$10.00", allow_ambiguous: true) # => Money(@amount=10.0, @currency="USD")
Money.parse?("$10.00", allow_ambiguous: false) # => nil
Thousands separator and decimal mark are guessed from the string.
Money.parse?("$10.00") # => Money(@amount=10.0, @currency="USD")
Money.parse?("$10,00") # => Money(@amount=10.0, @currency="USD")
Money.parse?("$100,000") # => Money(@amount=100000.0, @currency="USD")
Money.parse?("$100.000") # => Money(@amount=100000.0, @currency="USD")
NOTE Raises Money::Parse::Error on failure instead of returning nil.
Creates a Money instance from a string, or returns nil on failure.
Money.parse?("10.00 USD") # => Money(@amount=10.0, @currency="USD")
Money.parse?("$10.00") # => Money(@amount=10.0, @currency="USD")
Money.parse?("10.00") # => nil
If allow_ambiguous is true (default), returns the first
matching currency for ambiguous values, otherwise returns nil.
Money.parse?("$10.00", allow_ambiguous: true) # => Money(@amount=10.0, @currency="USD")
Money.parse?("$10.00", allow_ambiguous: false) # => nil
Thousands separator and decimal mark are guessed from the string.
Money.parse?("$10.00") # => Money(@amount=10.0, @currency="USD")
Money.parse?("$10,00") # => Money(@amount=10.0, @currency="USD")
Money.parse?("$100,000") # => Money(@amount=100000.0, @currency="USD")
Money.parse?("$100.000") # => Money(@amount=100000.0, @currency="USD")