Quali sono i parametri per il numero Pipe - Angular 2


123

Ho usato la barra verticale del numero di seguito per limitare i numeri a due cifre decimali.

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

Mi chiedevo quale fosse la logica dietro "1.2-2"? Ho giocato con questi cercando di ottenere un tubo che filtra a zero cifre decimali ma senza risultati.





2
Funziona solo con Angular 2
Lord Darth Vader

Risposte:


251

Il parametro ha questa sintassi:

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

Quindi il tuo esempio di '1.2-2'mezzi:

  • Verrà visualizzato un minimo di 1 cifra prima del punto decimale
  • Mostrerà almeno 2 cifre dopo il punto decimale
  • Ma non più di 2 cifre

31
Anche questo, purtroppo, arrotonda il numero e, peggio ancora, non si
parla

1
@ Blauhirn Ho lo stesso problema, c'era una soluzione facile o dovrei creare la mia pipa?
S. Robijns

3
@ phil294 So che il tuo commento è vecchio, ma ora c'è una descrizione sull'arrotondamento dei numeri. angular.io/api/common/DecimalPipe
Cristiano Bombazar il

7

Dal DOCS

Formatta un numero come testo. Le dimensioni e il separatore dei gruppi e altre configurazioni specifiche della locale si basano sulla locale attiva.

SINTASSI:

number_expression | number[:digitInfo[:locale]]

dov'è expressionun numero:

digitInfo è una stringa che ha un formato seguente:

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
  • minIntegerDigits è il numero minimo di cifre intere da utilizzare. Il valore predefinito è 1
  • minFractionDigits è il numero minimo di cifre
  • dopo frazione. Il valore predefinito è 0. maxFractionDigits è il numero massimo di cifre dopo la frazione. Il valore predefinito è 3.
  • locale è una stringa che definisce la lingua da utilizzare (utilizza l'attuale LOCALE_ID per impostazione predefinita)

DEMO


7
  1. Riguardo alla tua prima domanda, il tubo funziona come segue:

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

    • minIntegerDigits: numero minimo di cifre intere da mostrare prima del punto decimale, impostato su 1 per impostazione predefinita
    • minFractionDigits: numero minimo di cifre intere da mostrare dopo il punto decimale

    • maxFractionDigits: numero massimo di cifre intere da mostrare dopo il punto decimale

2.Riguardo alla tua seconda domanda, filtra a zero cifre decimali come segue:

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

Per ulteriori letture, controlla il seguente blog


2

"1.0-0" ti darà zero cifre decimali, cioè nessun decimale. ad esempio $ 500


Sto provando a formattare un numero come 114.5 per visualizzare come 114 ma quando uso "1.0-0" viene visualizzato "115". Qualcuno sa perché?
Karaja

1
È perché angolare arrotonda il valore e dà 115 per 114,5.
alchi baucha

2
Perché i voti negativi? funziona e risponde alla domanda su come filtrare fino a zero cifre decimali. Grazie @alchibaucha ha risolto il mio problema con precisione.
S ..
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.