Format Nano (formally RaiBlocks) raw amounts to be more human-readable.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
src
.babelrc
LICENSE
README.md
package-lock.json
package.json
test.js

README.md

nano-prettify

Prettify / format Nano (formally RaiBlocks) Raw amounts to be more human-readable. Format amounts in any Nano compatible unit e.g. unano, Gnano etc.... Adds decimal point and commas where necessary. Raw amounts are commonly returned when interacting with a Nano node.

e.g. Raw amount "2100176034320859259343606608761791" becomes "2,100.176034"

Install

npm install --save nano-prettify

Include in scripts

// require
var nanoPrettify = require('nano-prettify').nanoPrettify

// require (ES6 version)
const { nanoPrettify } = require('nano-prettify')

// import
import nanoPrettify from 'nano-prettify'

Usage Example

nanoPrettify("2100176034320859259343606608761791")
// "2,100.176034"

Note

nano-prettify works with strings only. If you need to deal with numbers you can try converting a returned result to a numeric format using parseInt or parseFloat where applicable.

API

nanoPrettify(raw, config <optional>)

Parameters

raw (string) - The Raw amount to format. This is commonly returned when performing API calls to a Nano node e.g. "2100176034320859259343606608761791"

config (object) <optional> - Configuration for the returned result. The configurations are:

  • unit (Possible values: 'raw', 'unano', 'mnano', 'nano', 'knano', 'Mnano', 'Gnano') - Specify which Nano unit is used to prettify the Raw amount. Default unit is 'Mnano'.
  • commas (boolean) - Choose whether or not to display commas where necessary e.g. "1,000,000.000000". Default: true
  • decimals (boolean) - Choose whether or not to display decimal places. Default: true
  • decimalPlaces (number) - Number of decimal places to display. Default is 6. Enter 0 to show all decimal places.

Examples

Prettify a Raw amount

nanoPrettify("2100176034320859259343606608761791")
// Result: "2,100.176034"

Prettify a Raw amount using the 'nano' unit (overridiing the default unit 'Mnano')

nanoPrettify("2100176034320859259343606608761791", { unit: 'nano' })
// Result: "2,100,176,034.320859"

Prettify a Raw amount without commas

nanoPrettify("2100176034320859259343606608761791", { commas: false })
// Result: "2100.176034"

Prettify a Raw amount without decimal places

nanoPrettify("2100176034320859259343606608761791", { decimals: false })
// Result: "2,100"

Prettify a Raw amount with 10 decimal places (overriding the default of 6 decimal places)

nanoPrettify("2100176034320859259343606608761791", { decimalPlaces: 10 })
// Result: "2,100.1760343208"

Prettify a Raw amount using a combination of configurations

nanoPrettify("2100176034320859259343606608761791", 
  {
    commas: false,
    decimals: true,
    unit: 'nano',
    decimalPlaces: 10
  }
)
// Result: "2100176034.3208592593"

Tests

/* run this command inside nano-prettify's
   node_modules folder */

npm run test

Feedback

Pull requests and opened issues are welcome!

License

MIT