Angular'da Kanallarla Sayı Formatlama
DecimalPipe kanalı kullanılarak
sayılar formatlanabilir. Kanalın ilk parametresinde
tam sayı kısmındaki minimum basamak sayısını
belirtiriz. İkinci parametrede, ondalık kısımdaki
minimum basamak sayısını belirtiriz. Üçüncü isteğe bağlı
parametrede ise ondalık kısımdaki maksimum basamak
sayısını belirleriz.
Kanalımızın adı DecimalPipe olmasına rağmen,
onu çağırmak için şunu yazarız: number.
Hadi pratikte deneyelim. Bileşen sınıfında aşağıdaki sayıyı tanımlayalım:
export class AppComponent {
num: number = 18;
}
Örnek
Sayımızı, tam sayı kısmında iki basamak
olacak şekilde gösterelim. Aynı zamanda
ondalık kısımdaki minimum basamak sayısı
1 olacak:
<div>{{ num | number:'2.1' }}</div>
Kodun çalıştırılmasının sonucu:
<div>18.0</div>
Örnek
Şimdi, ondalık kısmında sayımızın iki basamak gösterilmesini sağlayalım:
<div>{{ num | number:'2.2' }}</div>
Kodun çalıştırılmasının sonucu:
<div>18.00</div>
Örnek
Yeni bir sayı tanımlayalım:
export class AppComponent {
num: number = 18.67899;
}
Ve onu HTML şablonunda, ondalık kısmında en fazla iki basamak gösterilecek şekilde çıktılayalım:
<div>{{ num | number:'2.1-2' }}</div>
Kodun çalıştırılmasının sonucu:
<div>18.68</div>
Örnek
Şimdi sayımızı, tam sayı kısmında üç basamak olacak şekilde formatlayalım. Ve ondalık kısmında beş basamak gösterilsin:
<div>{{ num | number:'3.5-6' }}</div>
Kodun çalıştırılmasının sonucu:
<div>018.67899</div>
Örnek
Ondalık kısımdaki minimum basamak sayısını, sayıda belirtilen miktarı aşacak şekilde çıktılamayı deneyelim. Bizim durumumuzda altı basamak çıktılayalım:
<div>{{ num | number:'3.6-8' }}</div>
Kodun çalıştırılması sonucunda,
DecimalPipe kanalının ondalık kısma
sıfır eklediğini göreceğiz:
<div>018.678990</div>
Pratik Görevler
Sayı verildi:
num: number = 15;
Onu aşağıdaki formatta formatlayın:
'015.000'
Sayı verildi:
num: number = 12.345;
Onu aşağıdaki formatta formatlayın:
'0012.345'
Sayı verildi:
num: number = 12.345;
Onu aşağıdaki formatta formatlayın:
'12.3'
Sayı verildi:
num: number = 12.345;
Onu aşağıdaki formatta formatlayın:
'012.34500'
Sayı verildi:
num: number = -7.261;
Onu aşağıdaki formatta formatlayın:
'-007.3'
Sayı verildi:
num: number = 100.261923;
Onu aşağıdaki formatta formatlayın:
'100.9226130'
Sayı verildi:
num: number = 100.926613;
Onu aşağıdaki formatta formatlayın:
'0100.93'