2016-06-06 3 views
7
platform-browser.umd.js:962 ORIGINAL EXCEPTION: 2 is not a valid digit info for number pipes 

zu erwarten ist, was ich vom Schreiben dieses erhalten in meiner Vorlage:Anzahl Rohre in Angular2 arbeiten nicht wie ich

<li>Percentage satisfied: {{selectedCountry.averageSatisfaction | number:2}}</li> 

Meine Absicht ist es, eine Dezimalzahl mit nur zwei Dezimalstellen zu erzeugen. Kann jemand bitte darauf hinweisen, was ich falsch mache? Hier ist die Dokumentation: https://docs.angularjs.org/api/ng/filter/number

+0

Was ist '| Nummer: '2''? –

+0

Ich kann es versuchen. Beim Sprechen müssen Zahlen eine Zeichenkette nehmen (lol) – Piddien

+0

Dieser Parameter ist ein String und muss mit https://github.com/angular/angular/blob/a6ad61d83e2c423bd36cdda145fd29f72974535c/modules/%40angular/common/src/pipes/number_pipe übereinstimmen .ts # L17 ('{minIntegerDigits}. {minFractionDigits} - {maxFractionDigits}') –

Antwort

23

Sie suchen wahrscheinlich nach der DecimalPipe.

number:'{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}' 

Mit diesem mit Ihren Bedürfnissen:

Die Formatierung als Parameter an das Rohr wie diese geführt wird

number:'1.2-2' 

Dies Ihnen mit mindestens 1 Ziffer vor dezimal eine Zeichenfolge geben Punkt und genau 2 nach dem Komma.


Beispiel für die Verwendung von der Dokumentation:

@Component({ 
    selector: 'number-example', 
    pipes: [DecimalPipe], 
    template: `<div> 
    <p>e (no formatting): {{e}}</p> 
    <p>e (3.1-5): {{e | number:'3.1-5'}}</p> 
    <p>pi (no formatting): {{pi}}</p> 
    <p>pi (3.5-5): {{pi | number:'3.5-5'}}</p> 
    </div>` 
}) 
export class NumberPipeExample { 
    pi: number = 3.141; 
    e: number = 2.718281828459045; 
}