Package Exports
- @formatjs/intl-unified-numberformat
- @formatjs/intl-unified-numberformat/polyfill
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@formatjs/intl-unified-numberformat) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
intl-unified-numberformat
A ponyfill/polyfill for intl-unified-numberformat
. This wraps Intl.NumberFormat
and has the exact same APIs.
Installation
npm install @formatjs/intl-unified-numberformat
Requirements
This package requires the following capabilities:
Features
unit
,unitDisplay
,style: unit
and sanctioned units are supported
Caveats
formatToParts
does not include theunit
part yet.
Usage
To use the ponyfill, import it along with its data:
import {UnifiedNumberFormat} from '@formatjs/intl-unified-numberformat';
UnifiedNumberFormat.__addLocaleData(
require('@formatjs/intl-unified-numberformat/dist/locale-data/zh.json') // locale-data for zh
);
UnifiedNumberFormat.__addLocaleData(
require('@formatjs/intl-unified-numberformat/dist/locale-data/en.json') // locale-data for en
);
new UnifiedNumberFormat('zh', {
style: 'unit',
unit: 'bit',
unitDisplay: 'long',
}).format(1000); // 1,000比特
To use this as a polyfill, override Intl.NumberFormat
as below:
import '@formatjs/intl-unified-numberformat/polyfill';
if (typeof Intl.NumberFormat.__addUnitLocaleData === 'function') {
Intl.NumberFormat.__addUnitLocaleData(
require('@formatjs/intl-unified-numberformat/dist/locale-data/zh.json') // locale-data for zh
);
Intl.NumberFormat.__addUnitLocaleData(
require('@formatjs/intl-unified-numberformat/dist/locale-data/en.json') // locale-data for en
);
}
new Intl.NumberFormat('zh', {
style: 'unit',
unit: 'bit',
unitDisplay: 'long',
}).format(1000); // 1,000比特
Supported Units
Currently intl-unified-numberformat has a list of sanctioned units as below
type Unit =
| 'acre'
| 'bit'
| 'byte'
| 'celsius'
| 'centimeter'
| 'day'
| 'degree'
| 'fahrenheit'
| 'fluid-ounce'
| 'foot'
| 'gallon'
| 'gigabit'
| 'gigabyte'
| 'gram'
| 'hectare'
| 'hour'
| 'inch'
| 'kilobit'
| 'kilobyte'
| 'kilogram'
| 'kilometer'
| 'liter'
| 'megabit'
| 'megabyte'
| 'meter'
| 'mile'
| 'mile-scandinavian'
| 'millimeter'
| 'milliliter'
| 'millisecond'
| 'minute'
| 'month'
| 'ounce'
| 'percent'
| 'petabyte'
| 'pound'
| 'second'
| 'stone'
| 'terabit'
| 'terabyte'
| 'week'
| 'yard'
| 'year';