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

Şablonumdaki bu yazmaktan ne elde mi çalışmıyor:sayısı boruları

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

Niyetim sadece iki ondalık ile ondalık sayı üretmektir. Birisi yanlış yaptığım şeye işaret edebilir mi? İşte belge: https://docs.angularjs.org/api/ng/filter/number

+0

ne hakkında '| sayısı: '2''? –

+0

Denemeyi deneyebilirim. Konuşan numaralar dize (lol) almalıdır – Piddien

+0

Bu parametre, https://github.com/angular/angular/blob/a6ad61d83e2c423bd36cdda145fd29f72974535c/modules/%40angular/common/src/pipes/number_pipe ile eşleşmesi gereken bir dizedir. .ts # L17 ('{minIntegerDigits}. {minFractionDigits} - {maxFractionDigits}') –

cevap

23

Muhtemelen DecimalPipe'u arıyorsunuz.

biçimlendirme böyle boruya parametre olarak geçirilir:

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

ihtiyaçlarınız bu kullanma:

number:'1.2-2' 

Bu, ondalık önce asgari 1 rakam ile bir dize verecektir nokta ve tam ondalık noktadan sonra 2. dokümanlardan


Örnek kullanım:

@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; 
}