Apa parameter untuk nomor Pipa - Sudut 2

123

Saya telah menggunakan pipa angka di bawah ini untuk membatasi angka menjadi dua tempat desimal.

{{ exampleNumber | number : '1.2-2' }}

Saya bertanya-tanya apa logika di balik '1.2-2' itu? Saya telah bermain-main dengan ini mencoba mencapai pipa yang menyaring ke nol tempat desimal tetapi tidak berhasil.

rushtoni88
sumber
2
Ini hanya bekerja dengan Angular 2
Lord Darth Vader

Jawaban:

251

Parameter memiliki sintaks ini:

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

Jadi contoh '1.2-2'cara Anda:

  • Minimal 1 digit akan ditampilkan sebelum koma desimal
  • Ini akan menunjukkan setidaknya 2 digit setelah koma desimal
  • Tapi tidak lebih dari 2 digit
rinukkusu
sumber
31
Sayangnya ini juga
membulatkan
1
@Blauhirn Saya memiliki masalah yang sama, apakah ada perbaikan yang mudah atau haruskah saya membuat pipa sendiri?
S. Robijns
3
@ phil294 Saya tahu komentar anda sudah lama, tapi sekarang sudah ada penjelasan tentang pembulatan angka. angular.io/api/common/DecimalPipe
Cristiano Bombazar
7

Dari DOCS

Memformat angka sebagai teks. Ukuran dan pemisah grup serta konfigurasi khusus lokal lainnya didasarkan pada lokal aktif.

SINTAKSIS:

number_expression | number[:digitInfo[:locale]]

dimana expressionnomornya:

digitInfo adalah string yang memiliki format berikut:

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
  • minIntegerDigits adalah jumlah minimum digit integer yang digunakan.Default ke 1
  • minFractionDigits adalah jumlah digit minimum
  • setelah pecahan. Default-nya adalah 0. maxFractionDigits adalah jumlah digit maksimum setelah pecahan. Default-nya adalah 3.
  • locale adalah string yang mendefinisikan lokal yang akan digunakan (menggunakan LOCALE_ID saat ini secara default)

DEMO

Sajeetharan
sumber
7
  1. Mengenai pertanyaan pertama Anda, pipa berfungsi sebagai berikut:

    numberValue | number: {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

    • minIntegerDigits: Jumlah minimum digit integer untuk ditampilkan sebelum titik desimal, setel ke 1 secara default
    • minFractionDigits: Jumlah minimum digit integer untuk ditampilkan setelah titik desimal

    • maxFractionDigits: Jumlah maksimum digit integer untuk ditampilkan setelah koma desimal

2. Mengenai pertanyaan kedua Anda, Filter ke nol tempat desimal sebagai berikut:

{{ numberValue | number: '1.0-0' }}

Untuk bacaan lebih lanjut, lihat blog berikut

Mwiza
sumber
2

'1.0-0' akan memberi Anda nol tempat desimal, yaitu tidak ada desimal. misal $ 500

alchi baucha
sumber
Saya mencoba memformat angka seperti 114,5 untuk ditampilkan sebagai 114 tetapi ketika saya menggunakan '1.0-0' ini akan menampilkan '115' ada yang tahu mengapa?
Karaja
1
Itu karena sudut membulatkan nilainya dan menghasilkan 115 untuk 114,5.
alchi baucha
2
Mengapa suara negatif? ini berfungsi dan menjawab pertanyaan tentang cara memfilter ke nol tempat desimal. Terima kasih @alchibaucha memecahkan masalah saya dengan tepat.
S ..