I have a *ngFor loop and want to calculate a value - with 2 decimal places.
The calculation works:
You need another pipe to do this
import {Pipe} from 'angular2/core';
@Pipe({name: 'round'})
export class RoundPipe {
transform (input:number) {
return Math.floor(input);
}
}
template:
{{ date | amDifference : item.startdate : 'minutes' : true | round }}
IF its CURRENCY {{value | currency:'INR':true: '1.0-0'}}
IF need NUMBER only {{value | number:'1.0-0'}}
1.0-0 means: at least one digit before decimal point, 0 digits after decimal point.
https://angular.io/api/common/DecimalPipe
One can use angular built-in pipe such as number
{{value | number:'1.0-0'}}
If one wants to have an implementation of it:
@Pipe({name: 'round'})
export class RoundPipe {
transform (input:number) {
return Math.floor(input);
}
}
Use in the template
{{1,1 | round}} => 1
{{2,1 | round}} => 2
Another useful pipe is a round ten :
@Pipe({name: 'roundTen'})
export class RoundTenPipe implements PipeTransform {
transform(value: number): number {
return Math.round(value / 10) * 10;
}
}
Use in the template
{{11 | roundTen}} => 10
{{21 | roundTen}} => 20