MoneyUtils (money_utils v0.1.8)
Library that assists in operations involving money. It uses the Decimal library to perform the operations.
Summary
Functions
Adds a list of numbers together.
Adds two numbers together.
Compares two numbers.
Divides a list of numbers sequentially.
Divides two numbers.
Checks if a number is equal to another.
Checks if a number is greater than or equal to another.
Checks if a number is greater than another.
Checks if a number is less than or equal to another.
Checks if a number is less than another.
Masks a number with a currency. The currency can be USD, EUR, GBP or BRL.
Multiplies a list of numbers.
Multiplies two numbers.
Parses a number to decimal.
Processes the given expression using internal methods and operators.
Rounds a number.
Subtracts a list of numbers sequentially.
Subtracts two numbers.
Parses a number to float.
Functions
add(numbers)
Adds a list of numbers together.
Examples
iex> MoneyUtils.add(["10.50", "20.75", "30.25"])
Decimal.new("61.50")
add(num1, num2)
Adds two numbers together.
Examples
iex> MoneyUtils.add("10.50", "20.75")
Decimal.new("31.25")
compare(num1, num2)
Compares two numbers.
Examples
iex> MoneyUtils.compare("10.556", "10.556")
:eq
iex> MoneyUtils.compare("10.556", "10.555")
:gt
iex> MoneyUtils.compare("10.556", "10.557")
:lt
divide(numbers)
Divides a list of numbers sequentially.
Examples
iex> MoneyUtils.divide(["10.50", "20.75", "2"])
Decimal.new("0.25")
divide(num1, num2)
Divides two numbers.
Examples
iex> MoneyUtils.divide("10.50", "20.75")
Decimal.new("0.51")
is_equal?(num1, num2)
Checks if a number is equal to another.
Examples
iex> MoneyUtils.is_equal?("10.556", "10.556")
true
iex> MoneyUtils.is_equal?("10.556", "10.555")
false
iex> MoneyUtils.is_equal?("10.556", "10.557")
false
is_greater_or_equal_than?(num1, num2)
Checks if a number is greater than or equal to another.
Examples
iex> MoneyUtils.is_greater_or_equal_than?("10.556", "10.556")
true
iex> MoneyUtils.is_greater_or_equal_than?("10.556", "10.555")
true
iex> MoneyUtils.is_greater_or_equal_than?("10.556", "10.557")
false
is_greater_than?(num1, num2)
Checks if a number is greater than another.
Examples
iex> MoneyUtils.is_greater_than?("10.556", "10.556")
false
iex> MoneyUtils.is_greater_than?("10.556", "10.555")
true
iex> MoneyUtils.is_greater_than?("10.556", "10.557")
false
is_less_or_equal_than?(num1, num2)
Checks if a number is less than or equal to another.
Examples
iex> MoneyUtils.is_less_or_equal_than?("10.556", "10.556")
true
iex> MoneyUtils.is_less_or_equal_than?("10.556", "10.555")
false
iex> MoneyUtils.is_less_or_equal_than?("10.556", "10.557")
true
is_less_than?(num1, num2)
Checks if a number is less than another.
Examples
iex> MoneyUtils.is_less_than?("10.556", "10.556")
false
iex> MoneyUtils.is_less_than?("10.556", "10.555")
false
iex> MoneyUtils.is_less_than?("10.556", "10.557")
true
mask(num, currency)
Masks a number with a currency. The currency can be USD, EUR, GBP or BRL.
Examples
iex> MoneyUtils.mask("1000.50", "USD")
"$1,000.50"
iex> MoneyUtils.mask("1000.50", "EUR")
"€1,000.50"
iex> MoneyUtils.mask("1000.50", "GBP")
"£1,000.50"
iex> MoneyUtils.mask("1000.50", "BRL")
"R$1.000,50"
iex> MoneyUtils.mask("1000.50", "XYZ")
{:error, :invalid_currency}
mult(numbers)
Multiplies a list of numbers.
Examples
iex> MoneyUtils.mult(["10.50", "20.75", "2"])
Decimal.new("435.75")
mult(num1, num2)
Multiplies two numbers.
Examples
iex> MoneyUtils.mult("10.50", "20.75")
Decimal.new("217.88")
parse(num)
Parses a number to decimal.
Examples
iex> MoneyUtils.parse("10.556")
Decimal.new("10.56")
iex> MoneyUtils.parse(-123.453)
Decimal.new("-123.45")
iex> MoneyUtils.parse(1)
Decimal.new("1.00")
Processes the given expression using internal methods and operators.
round_num(num, rounding \\ 2)
Rounds a number.
Examples
iex> MoneyUtils.round_num("10.556")
Decimal.new("10.56")
iex> MoneyUtils.round_num("-123.453")
Decimal.new("-123.45")
sub(numbers)
Subtracts a list of numbers sequentially.
Examples
iex> MoneyUtils.sub(["10.50", "20.75", "30.25"])
Decimal.new("-40.50")
sub(num1, num2)
Subtracts two numbers.
Examples
iex> MoneyUtils.sub("10.50", "20.75")
Decimal.new("-10.25")
to_float(num)
Parses a number to float.
Examples
iex> MoneyUtils.to_float(MoneyUtils.parse "10.556")
10.56
iex> MoneyUtils.to_float(MoneyUtils.parse -123.453)
-123.45
iex> MoneyUtils.to_float(MoneyUtils.parse 1)
1.0