Skip to content

davidgwking/pretty-units

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pretty-units

Build Status NPM

Have you received a measurement that had an unsightly or unpredictable order of magnitude?

pretty-units will find a number's largest satisfiable order of magnitude and provide a string representation that includes both the number and a unit prefix. All you need to do is append your unit!

pretty-units supports transformation from yocto (10-24) to yotta (1024) and everything in between!

Output is always rounded to two decimal places. Naturally, this means that pretty-units specially handles values that have an absolute value that is less than 10-26. See usage for more details.

Usage

> var punits = require('pretty-units');

> punits(9000) + 'm';
'9 km'

> punits(0.001) + 'l';
'1 ml'

> punits(Math.pow(10, 12)) + 's';
'1 Ts'

// use a custom exponent of 10
> punits(-0.9, 3) + 'm';
'-900 m'

> punits(2, -3) + 'l';
'2 ml'

> punits(9.235, 9) + 'B';
'9.24 GB'

// let's handle some very small numbers
> punits(1, -26) + 's'
'0.01 ys'

> punits(-1, -27) + 's'
'< -0.01 ys'

> punits(0.99 * Math.pow(10, -26)) + 's'
'0.01 ys'

> punits(0.4 * Math.pow(10, -26)) + 's'
'< 0.01 ys'

// switch to verbose output
> punits.verbose = true;

> punits(9000) + 'meters';
'9 kilometers'

> punits(0.001) + 'liter';
'1 milliliter'

About

easily transform your measurements to a readable string

Resources

License

Stars

Watchers

Forks

Packages

No packages published