mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
docs: improve description, examples of DecimalPipe's digitsInfo parameter (#40714)
Fixes #40671 PR Close #40714
This commit is contained in:
@@ -17,33 +17,61 @@ import {invalidPipeArgumentError} from './invalid_pipe_argument_error';
|
||||
* @ngModule CommonModule
|
||||
* @description
|
||||
*
|
||||
* Transforms a number into a string,
|
||||
* formatted according to locale rules that determine group sizing and
|
||||
* separator, decimal-point character, and other locale-specific
|
||||
* configurations.
|
||||
*
|
||||
* If no parameters are specified, the function rounds off to the nearest value using this
|
||||
* [rounding method](https://en.wikibooks.org/wiki/Arithmetic/Rounding).
|
||||
* The behavior differs from that of the JavaScript ```Math.round()``` function.
|
||||
* In the following case for example, the pipe rounds down where
|
||||
* ```Math.round()``` rounds up:
|
||||
*
|
||||
* ```html
|
||||
* -2.5 | number:'1.0-0'
|
||||
* > -3
|
||||
* Math.round(-2.5)
|
||||
* > -2
|
||||
* ```
|
||||
* Formats a value according to digit options and locale rules.
|
||||
* Locale determines group sizing and separator,
|
||||
* decimal point character, and other locale-specific configurations.
|
||||
*
|
||||
* @see `formatNumber()`
|
||||
*
|
||||
* @usageNotes
|
||||
* The following code shows how the pipe transforms numbers
|
||||
* into text strings, according to various format specifications,
|
||||
* where the caller's default locale is `en-US`.
|
||||
*
|
||||
* ### digitsInfo
|
||||
*
|
||||
* The value's decimal representation is specified by the `digitsInfo`
|
||||
* parameter, written in the following format:<br>
|
||||
*
|
||||
* ```
|
||||
* {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
|
||||
* ```
|
||||
*
|
||||
* - `minIntegerDigits`:
|
||||
* The minimum number of integer digits before the decimal point.
|
||||
* Default is 1.
|
||||
*
|
||||
* - `minFractionDigits`:
|
||||
* The minimum number of digits after the decimal point.
|
||||
* Default is 0.
|
||||
*
|
||||
* - `maxFractionDigits`:
|
||||
* The maximum number of digits after the decimal point.
|
||||
* Default is 3.
|
||||
*
|
||||
* If the formatted value is truncated it will be rounded using the "to-nearest" method:
|
||||
*
|
||||
* ```
|
||||
* {{3.6 | number: '1.0-0'}}
|
||||
* <!--will output '4'-->
|
||||
*
|
||||
* {{-3.6 | number:'1.0-0'}}
|
||||
* <!--will output '-4'-->
|
||||
* ```
|
||||
*
|
||||
* ### locale
|
||||
*
|
||||
* `locale` will format a value according to locale rules.
|
||||
* Locale determines group sizing and separator,
|
||||
* decimal point character, and other locale-specific configurations.
|
||||
*
|
||||
* When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.
|
||||
*
|
||||
* See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).
|
||||
*
|
||||
* ### Example
|
||||
*
|
||||
* The following code shows how the pipe transforms values
|
||||
* according to various format specifications,
|
||||
* where the caller's default locale is `en-US`.
|
||||
*
|
||||
* <code-example path="common/pipes/ts/number_pipe.ts" region='NumberPipe'></code-example>
|
||||
*
|
||||
* @publicApi
|
||||
@@ -51,25 +79,17 @@ import {invalidPipeArgumentError} from './invalid_pipe_argument_error';
|
||||
@Pipe({name: 'number'})
|
||||
export class DecimalPipe implements PipeTransform {
|
||||
constructor(@Inject(LOCALE_ID) private _locale: string) {}
|
||||
|
||||
/**
|
||||
* @param value The number to be formatted.
|
||||
* @param digitsInfo Decimal representation options, specified by a string
|
||||
* in the following format:<br>
|
||||
* <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.
|
||||
* - `minIntegerDigits`: The minimum number of integer digits before the decimal point.
|
||||
* Default is `1`.
|
||||
* - `minFractionDigits`: The minimum number of digits after the decimal point.
|
||||
* Default is `0`.
|
||||
* - `maxFractionDigits`: The maximum number of digits after the decimal point.
|
||||
* Default is `3`.
|
||||
* @param locale A locale code for the locale format rules to use.
|
||||
* When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.
|
||||
* See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).
|
||||
*/
|
||||
transform(value: number|string, digitsInfo?: string, locale?: string): string|null;
|
||||
transform(value: null|undefined, digitsInfo?: string, locale?: string): null;
|
||||
transform(value: number|string|null|undefined, digitsInfo?: string, locale?: string): string|null;
|
||||
|
||||
/**
|
||||
* @param value The value to be formatted.
|
||||
* @param digitsInfo Sets digit and decimal representation.
|
||||
* [See more](#digitsinfo).
|
||||
* @param locale Specifies what locale format rules to use.
|
||||
* [See more](#locale).
|
||||
*/
|
||||
transform(value: number|string|null|undefined, digitsInfo?: string, locale?: string): string
|
||||
|null {
|
||||
if (!isValue(value)) return null;
|
||||
|
||||
Reference in New Issue
Block a user