JS kit for formatting price or numbers to human likes format. Also kit will be useful for crypto-currency with 7+ numbers after a delimiter
- Written with TypeScript
- Corrected with Prettier
- Tested with Jest
- Bundled with Rollup
⚠️ Breaking changes from 0.6.0 to 0.7.0 see the changelog
Spoiler: changed arguments in formattedPrice
npm i --save-dev price-like-humans
yarn add price-like-humans -D
Methods | Returns | Description |
---|---|---|
formattedPrice(value, options) |
string |
Formatting incoming numbers to humans like price with user locale delimiter |
exponentFormatter(value) |
string |
Formatting exponential numbers to human likes numbers. Exponent free |
Argument | Required | Argument type | Description |
---|---|---|---|
value | *required | number, string |
Incoming numbers which will be formatted (exponential friendly) |
options | optional | object |
Settings list, see formattedPrice options |
Argument | Required | Argument type | Description |
---|---|---|---|
value | *required | number, string |
Incoming exponential numbers which will be formatted |
Argument | Argument type | Description |
---|---|---|
delimiter | string |
Delimiter symbol. Number which split decimal. Can be replaced |
separator | string |
Symbol which separates grouped number. Can be replaced |
lang | string |
You can set locale option. Using user locale by default |
separator
with delimiter
when the code needs to run on a server-side.
const priceLikeHumans = require('price-like-humans');
import priceLikeHumans from 'price-like-humans';
// or methods only
import { formattedPrice, exponentFormatter } from 'price-like-humans';
Without separator arguments (putted your local separator)
formattedPrice(12345.6789);
//> "12,345.678,9" // EU Locale
//> "12 345.678 9" // RU Locale
formattedPrice(12345.6789, { delimiter: ',' });
//> "12.345,678.9" // EN Locale
//> "12 345,678 9" // RU Locale
formattedPrice(12345.6789, { separator: '.' });
//> "12.345,678.9" // EN Locale
//> "12.345,678.9" // RU Locale
formattedPrice(12345.6789, { delimiter: '.', separator: ',' });
//> "12,345.678,9"
formattedPrice(12345.6789, { lang: 'ru' });
//> "12 345,678 9"
formattedPrice(12345.6789, { lang: 'en' });
//> "12,345.678,9"
formattedPrice(1e-7, { lang: 'en' });
//> "0.000,000,1"
exponentFormatter(1e-7);
//> "0.0000001"
Show changelog
v0.8.0 - formattedPrice can formats exponential too v0.7.0 - Changed arguments in formattedPrice - Add more coverage and tests - Remove debian lang detector v0.6.7 - Added prettier - Added dev unit tests - Fix imports with methods only v0.6.1 - Added typescript - Added custom locale to formattedPrice - Added several tests - Added minifying - Removed excessZero function (if you need that func, just parseFloat your number) - Removed babel, compiling by rollup & typescript v0.5.0 - Built with RollUp and Babel v0.4.0 - Updated jest dependencies v0.3.5 - Minor fixes v0.3.1 - Changed priceFormatter incoming arguments type. Now it takes an object or once value - Tested with Jest - Refactored locale.js - Refactored formattedPrice: Add default valuesPrice Like Humans is MIT licensed.