Angular2中的数字管道无法正常工作

时间:2016-06-06 08:59:13

标签: angular numbers

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

我在模板中写这个是得到了什么:

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

我的目的是产生一个只有两位小数的十进制数。有人可以指出我做错了什么吗?以下是文档:https://docs.angularjs.org/api/ng/filter/number

2 个答案:

答案 0 :(得分:38)

您可能正在寻找DecimalPipe

格式化作为参数传递给管道,如下所示:

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

根据您的需要使用它:

number:'1.2-2'

这将为您提供一个字符串,其小数点前最少1位,小数点后恰好为2。

来自文档的示例用法:

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

答案 1 :(得分:0)

{{ tradePrice }}             // output 2345.78543566   
{{ tradePrice | number : '.1-3' }}   // output 2345.785

这些值来自API。在Java中等效

tradePrice.toFixed(3)  // output 2345.785