decimal-format
TypeScript icon, indicating that this package has built-in type declarations

3.0.1 • Public • Published

DecimalFormat

format decimal numbers with a specific pattern

Install

$ npm install decimal-format --save

or use yarn

$ yarn add decimal-format --save

Usage

import DecimalFormat from 'decimal-format';

const df = new DecimalFormat('#,##0.0#');
df.format(1234.995);  // 1,235.0
df.format(1234.956);  // 1,234.96

const df1 = new DecimalFormat('#,##0.0#%');
df1.format(0.34995); // 35.0%

const df2 = new DecimalFormat('#,##0.0#‰');
df2.format(0.034993); // 34.99‰

const df3 = new DecimalFormat('¥#,##0.00元');
df3.format(1234.995); // ¥1,235.00元

RoundingMode defines the rounding modes of the formatting

import DecimalFormat, { RoundingMode } from 'decimal-format';

const df = new DecimalFormat('#,##0.0#');
df.setRoundingMode(RoundingMode.UP);    // round away from zero
df.format(2.1)      // 3.0
df.format(-2.1)     // -3.0

df.setRoundingMode(RoundingMode.UNNECESSARY) // assert that no rounding is necessary
df.format(2.11)     // 2.11
df.format(2.123)    // throw exception

RoundingMode

Enum Description
UP round away from zero
DOWN round towards zero
CEILING round towards positive infinity
FLOOR round towards negative infinity
HALF_UP round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up
HALF_DOWN round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down
HALF_EVEN round towards the "nearest neighbor" unless both neighbors are equidistant, in which case round toward the even neighbor
UNNECESSARY assert that the requested operation has an exact result, hence no rounding is necessary

Readme

Keywords

Package Sidebar

Install

npm i decimal-format

Weekly Downloads

2,302

Version

3.0.1

License

ISC

Unpacked Size

56.7 kB

Total Files

18

Last publish

Collaborators

  • leeqq