Formatowanie liczb za pomocą potoków w Angular
Za pomocą potoku DecimalPipe można
formatować liczby. W pierwszym parametrze
potoku przekazujemy minimalną liczbę
cyfr w części całkowitej. W drugim parametrze
określamy minimalną liczbę cyfr w
części ułamkowej. W trzecim, opcjonalnym
parametrze, ustawiamy maksymalną liczbę
cyfr w części ułamkowej.
Pomimo że nasz potok nazywa się
DecimalPipe, aby go wywołać, piszemy
tak: number.
Wypróbujmy to w praktyce. W klasie komponentu ustawmy następującą liczbę:
export class AppComponent {
num: number = 18;
}
Przykład
Wyświetlmy naszą liczbę tak, aby w
jej części całkowitej były dwie cyfry. Przy tym
minimalna liczba cyfr w części ułamkowej
wyniesie 1:
<div>{{ num | number:'2.1' }}</div>
Wynik wykonania kodu:
<div>18.0</div>
Przykład
Teraz ustawmy, aby w części ułamkowej naszej liczby wyświetlały się dwie cyfry:
<div>{{ num | number:'2.2' }}</div>
Wynik wykonania kodu:
<div>18.00</div>
Przykład
Ustawmy nową liczbę:
export class AppComponent {
num: number = 18.67899;
}
I wyświetlmy ją w szablonie HTML tak, aby w części ułamkowej pokazywały się maksymalnie dwie cyfry:
<div>{{ num | number:'2.1-2' }}</div>
Wynik wykonania kodu:
<div>18.68</div>
Przykład
Teraz sformatujmy naszą liczbę tak, aby w jej części całkowitej były trzy cyfry. A w części ułamkowej wyświetliło się pięć cyfr:
<div>{{ num | number:'3.5-6' }}</div>
Wynik wykonania kodu:
<div>018.67899</div>
Przykład
Spróbujmy wyświetlić minimalną liczbę cyfr w części ułamkowej, przekraczającą ustawioną liczbę w liczbie. W naszym przypadku wyświetlmy sześć cyfr:
<div>{{ num | number:'3.6-8' }}</div>
W wyniku wykonania kodu zobaczymy,
że potok DecimalPipe dodał zero
do części ułamkowej:
<div>018.678990</div>
Zadania praktyczne
Dana liczba:
num: number = 15;
Sformatuj ją w następujący sposób:
'015.000'
Dana liczba:
num: number = 12.345;
Sformatuj ją w następujący sposób:
'0012.345'
Dana liczba:
num: number = 12.345;
Sformatuj ją w następujący sposób:
'12.3'
Dana liczba:
num: number = 12.345;
Sformatuj ją w następujący sposób:
'012.34500'
Dana liczba:
num: number = -7.261;
Sformatuj ją w następujący sposób:
'-007.3'
Dana liczba:
num: number = 100.261923;
Sformatuj ją w następujący sposób:
'100.9226130'
Dana liczba:
num: number = 100.926613;
Sformatuj ją w następujący sposób:
'0100.93'