将数字转成更适合阅读的格式:NumberStrings.js

jopen 10年前

NumberStrings.js 是一个简单的 JavaScript 类,用于将数字转成更适合阅读的格式。

By default it will format up to a septillion (1,000,000,000,000,000,000,000,000), however you can pass your own list of units to the constructor if you would like to overwrite/extend the default list of units (more on that below).

Basic Usage:

var ns = new NumberStrings();  console.log('1,000 = ' + ns.format(1000)); // outputs: "1,000 = 1 thousand"  console.log('50,000,000 = ' + ns.format(50000000)); // outputs: "50,000,000 = 50 million"  console.log('999,999,999 = ' + ns.format(999999999)); // outputs: "999,999,999 = 999.999999 million"

Advanced Usage:

The below methods are useful if you want to further format the decimal or unit name that is returned before they are concatinated into a string (default behavior of ns.format(integer)).

getName(integer):

var ns = new NumberStrings();  ns.getName(1000); // Returns the string "thousand"

getDecimal(integer):

var ns = new NumberStrings();  ns.getDecimal(1000); // Returns the decimal that goes in front of the unit name, in this case: 1

Overwritting/extending the list of units:

To overwrite/extend the default list of units, you can pass the below units option to the NumberStrings() constructor. The value is the lowest number that can possibly be counted as the specified unit name.

var ns = new NumberStrings({          units: [              {                  name: 'hundred',                  value: 100              },              {                  name: 'thousand',                  value: 1000              },              {                  name: 'million',                  value: 1000000              }              ...          ]      });


 

项目主页:http://www.open-open.com/lib/view/home/1419469752828