Skip to content

Convert numbers to various string formats, such as currency

License

Notifications You must be signed in to change notification settings

hissssst/better_number

Repository files navigation

Better Number

BetterNumber is an Elixir library which provides functions to convert numbers into a variety of different formats. It is a fork of Daniel Berkompas's Number but it

  1. Has slightly more features

  2. Does not perform any configuration lookups and therefore each function is 100% pure.

  3. Has no __using__ to import functions

  4. Has correct type specifications

  5. Actively maintained

Features

  • Conversion to currency, where everything is customizable
BetterNumber.to_currency(2034.46)
"$2,034.46"
  • Conversion to international phone format
BetterNumber.to_phone(1112223333, area_code: true, country_code: 1)
"+1 (111) 222-3333"
  • Conversion to percentage
BetterNumber.to_percentage(100, precision: 0)
"100%"
  • Conversion to human readable format
BetterNumber.to_human(1234)
"1.23 Thousand"
  • Just splitting the number with commas
BetterNumber.to_delimited(12345678)
"12,345,678"

Note:

Every function is extremely customizable, and has a ton of options

Installation

Get it from Hex:

defp deps do
  [
    {:better_number, "~> 1.0.1"}
  ]
end

Then run mix deps.get.

Usage

defmodule MyModule do
  alias BetterNumber, as: Number

  ...
end

See the Hex documentation for more information about the modules provided by BetterNumber.

License

MIT. See LICENSE for more details.

About

Convert numbers to various string formats, such as currency

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages