MoneyUtils (money_utils v0.1.6)

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.

Multiplies a list of numbers.

Multiplies two numbers.

Parses a number to decimal.

Processes the given expression using internal methods and operators.

Subtracts a list of numbers sequentially.

Subtracts two numbers.

Parses a number to float.

Functions

Adds a list of numbers together.

Examples

iex> MoneyUtils.add(["10.50", "20.75", "30.25"])
Decimal.new("61.50")
Link to this function

add(num1, num2)

Adds two numbers together.

Examples

iex> MoneyUtils.add("10.50", "20.75")
Decimal.new("31.25")
Link to this function

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
Link to this function

divide(numbers)

Divides a list of numbers sequentially.

Examples

iex> MoneyUtils.divide(["10.50", "20.75", "2"])
Decimal.new("0.25")
Link to this function

divide(num1, num2)

Divides two numbers.

Examples

iex> MoneyUtils.divide("10.50", "20.75")
Decimal.new("0.51")
Link to this function

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
Link to this function

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
Link to this function

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
Link to this function

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
Link to this function

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

Multiplies a list of numbers.

Examples

iex> MoneyUtils.mult(["10.50", "20.75", "2"])
Decimal.new("435.75")
Link to this function

mult(num1, num2)

Multiplies two numbers.

Examples

iex> MoneyUtils.mult("10.50", "20.75")
Decimal.new("217.88")

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")
Link to this macro

process(expr)

(macro)

Processes the given expression using internal methods and operators.

Link to this function

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")

Subtracts a list of numbers sequentially.

Examples

iex> MoneyUtils.sub(["10.50", "20.75", "30.25"])
Decimal.new("-40.50")
Link to this function

sub(num1, num2)

Subtracts two numbers.

Examples

iex> MoneyUtils.sub("10.50", "20.75")
Decimal.new("-10.25")

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