この記事ではAngularの『numberパイプ(DecimalPipe)』について、
- Angularのnumberパイプ(DecimalPipe)とは
- Angularのnumberパイプ(DecimalPipe)を用いたサンプルコード
などを分かりやすく説明するように心掛けています。ご参考になれば幸いです。
Angularのnumberパイプ(DecimalPipe)とは
Angularのnumberパイプ(DecimalPipe)を使用すると、指定された数値を桁区切り文字(例えば、カンマなど)で区切ったものを出力することができます。また、引数を指定することで、整数部と小数部の表示桁数も指定することができます。
numberパイプ(DecimalPipe)の構文を以下に示します。
numberパイプ(DecimalPipe)の構文
value | number [: digitsInfo]
value
- フォーマットされる任意の数値(number型またはstring型)です
digitsInfo
(省略可能)- 整数部と小数部の表示桁数を指定します。
{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
の形式で指定します。minIntegerDigits
:整数部の最小桁数(デフォルトは1)。minFractionDigits
:小数部の最小桁数(デフォルトは0)。maxFractionDigits
:小数部の最大桁数(デフォルトは3)。
- 例えば、
1.0-2
と指定した場合、少なくとも1桁の整数部と、最小0桁、最大2桁の小数部を持つ数値になります。
Angularのnumberパイプ(DecimalPipe)を用いたサンプルコード
Angularのnumberパイプ(DecimalPipe)を用いたサンプルコードを以下に示します。
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<ul>
<li>元の値:{{ value }}</li>
<li>デフォルトの場合:{{ value | number }}</li>
<li>桁数フォーマット『5.1-2』を使用した場合:{{ value | number : '5.1-2' }}</li>
<li>桁数フォーマット『1.0-0』を使用した場合:{{ value | number : '1.0-0' }}</li>
</ul>
`,
})
export class AppComponent {
value = 1234.5678;
}
// 出力結果
// 元の値:1234.5678
// デフォルトの場合:1,234.568
// 桁数フォーマット『5.1-2』を使用した場合:01,234.57
// 桁数フォーマット『1.0-0』を使用した場合:1,235
digitsInfo
を省略した場合、numberパイプは小数点以下3桁で値を丸めます。上記のサンプルコードの場合、小数点以下の5678
を3桁で丸めているので568
になっています。
digitsInfo
のminIntegerDigits
にvalue
よりも大きい桁数を指定した場合、numberパイプは不足した桁を0で補完します。上記のサンプルコードの場合、value
の整数部は1234の4桁ですが、minIntegerDigits
に5を指定しているので、01234
となっています(正確にはカンマが付いた01,234
になっています)。また、上記のサンプルコードではdigitsInfo
を5.1-2
と指定しているので、小数部は1~2桁になるように整形されています。
整数に丸めたい場合には、minFractionDigits
とmaxFractionDigits
の両方に0を指定します。
本記事のまとめ
この記事ではAngularの『numberパイプ(DecimalPipe)』について、以下の内容を説明しました。
- Angularのnumberパイプ(DecimalPipe)とは
- Angularのnumberパイプ(DecimalPipe)を用いたサンプルコード
お読み頂きありがとうございました。