我有一个* ngFor循环,想要计算一个值 - 小数点后2位。
计算有效:
{{ ((date | amDifference : item.startdate : 'minutes' :true)/item.duration*100) }}
但我怎么能绕圈?我试着这样:
{{ num | ((date | amDifference : item.startdate : 'minutes' :true)/item.duration*100) : '1.2-2' }}
但这会产生错误:
zone.js:355未处理的承诺拒绝:模板解析错误: 分析器错误:意外的令牌(,[第8列中的预期标识符或关键字] {{num | ((date | amDifference:item.startdate:'minutes':true)/item.duration*100):'1.2-2'}}
答案 0 :(得分:13)
你需要另一个管道才能做到这一点
import {Pipe} from 'angular2/core';
@Pipe({name: 'round'})
export class RoundPipe {
transform (input:number) {
return Math.floor(input);
}
}
模板:
{{ date | amDifference : item.startdate : 'minutes' : true | round }}
答案 1 :(得分:12)
一个人可以使用有角的内置管道,例如number
{{value | number:'1.0-0'}}
如果要实现它:
@Pipe({name: 'round'})
export class RoundPipe {
transform (input:number) {
return Math.floor(input);
}
}
在模板中使用
{{1,1 | round}} => 1
{{2,1 | round}} => 2
另一个有用的管道是第十轮:
@Pipe({name: 'roundTen'})
export class RoundTenPipe implements PipeTransform {
transform(value: number): number {
return Math.round(value / 10) * 10;
}
}
在模板中使用
{{11 | roundTen}} => 10
{{21 | roundTen}} => 20
答案 2 :(得分:5)
如果其货币{{value | currency:'INR':true: '1.0-0'}}
如果仅需要NUMBER {{value | number:'1.0-0'}}
1.0-0表示:小数点前至少一位,小数点后0位。