CoastalCommitsPastes/server/node_modules/globalize/doc/api/unit/unit-formatter.md

73 lines
1.9 KiB
Markdown
Raw Normal View History

2022-03-06 16:46:59 -08:00
## .unitFormatter( unit [, options] ) ➜ function( value )
Returns a function that formats a unit according to the given unit, options, and the default/instance locale.
The returned function is invoked with one argument: the number `value` to be formatted.
### Parameters
#### unit
String value indicating the unit to be formatted. eg. "day", "week", "month", etc. Could also be a compound unit, eg. "mile-per-hour" or "mile/hour"
#### options.form
Optional. String, e.g., `"long"` (default), `"short"` or `"narrow"`.
#### options.numberFormatter
Optional. A number formatter function. Defaults to `Globalize.numberFormatter()` for the current locale using the default options.
#### value
The number to be formatted.
### Example
Prior to using any unit methods, you must load `cldr/main/{locale}/units.json` and the CLDR content required by the plural module. Read [CLDR content][] if you need more information.
[CLDR content]: ../../../README.md#2-cldr-content
You can use the static method `Globalize.unitFormatter()`, which uses the default locale.
```javascript
var customNumberFormatter, formatter;
Globalize.locale( "en" );
formatter = Globalize.unitFormatter( "month", { form: "long" } );
formatter( 1 );
// > "1 month"
formatter( 3 );
// > "3 months"
formatter( 3000 );
// > "3,000 months"
```
You can pass a custom number formatter to format the number of units.
```javascript
var customNumberFormatter, formatter;
Globalize.locale( "en" );
customNumberFormatter = Globalize.numberFormatter({ useGrouping = false })
formatter = Globalize.unitFormatter( "mile-per-hour", {
form: "narrow", numberFormatter: customNumberFormatter
} );
formatter(5000)
// > "5000mph"
```
You can use the instance method `.unitFormatter()`, which uses the instance locale.
```javascript
var globalize = new Globalize( "en" ),
formatter = globalize.unitFormatter( "mile-per-hour", { form: "narrow" } );
formatter( 10 );
// > "10mph"
```