module
Money::Parse
Defined in:
money/money/parse.crInstance Method Summary
-
#analyze(str : String) : Array(Money)
Creates an array of
Moneyinstances from a string, or returnsnilon failure. -
#analyze?(str : String) : Array(Money) | Nil
Creates an array of
Moneyinstances from a string, or returnsnilon failure. -
#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 an array of Money instances from a string, or returns nil on failure.
Money.analyze?("$10.00") # => [Money(@amount=10.0, @currency="USD"), ...]
Money.analyze?("US$10.00") # => [Money(@amount=10.0, @currency="USD")]
See also Money.parse?.
NOTE Raises Money::Parse::Error on failure instead of returning nil.
Creates an array of Money instances from a string, or returns nil on failure.
Money.analyze?("$10.00") # => [Money(@amount=10.0, @currency="USD"), ...]
Money.analyze?("US$10.00") # => [Money(@amount=10.0, @currency="USD")]
See also Money.parse?.
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")