Angular 2 货币管道
Angular 2 Currency Pipe
我在 angular2 中使用货币管道,当前我正在使用
{{price | currency:'USD':true:'1.2-2'}}
输出0,000.00
但是我想要的结果是0k
,这样可以实现吗?
您需要编写自定义管道以用 K 替换千位。您仍然可以使用货币管道,但将其与您的自定义管道链接起来。您可以在此处查看文档:https://angular.io/docs/ts/latest/guide/pipes.html
我最终创建了自己的自定义管道
@Pipe({
name: 'salePrice'
})
export class PricePipe implements PipeTransform {
transform(input: number): any {
let price: number = input;
if (price > 3000000) {
return '3m+';
}
if (price / 1000 > 1) {
if (price / 1000000 >= 1) {
return parseFloat((price / 1000000).toFixed(3)) + "m";
} else {
return parseFloat((price / 1000).toFixed(2)) + "k";
}
} else {
return price;
}
}
}
我在 angular2 中使用货币管道,当前我正在使用
{{price | currency:'USD':true:'1.2-2'}}
输出0,000.00
但是我想要的结果是0k
,这样可以实现吗?
您需要编写自定义管道以用 K 替换千位。您仍然可以使用货币管道,但将其与您的自定义管道链接起来。您可以在此处查看文档:https://angular.io/docs/ts/latest/guide/pipes.html
我最终创建了自己的自定义管道
@Pipe({
name: 'salePrice'
})
export class PricePipe implements PipeTransform {
transform(input: number): any {
let price: number = input;
if (price > 3000000) {
return '3m+';
}
if (price / 1000 > 1) {
if (price / 1000000 >= 1) {
return parseFloat((price / 1000000).toFixed(3)) + "m";
} else {
return parseFloat((price / 1000).toFixed(2)) + "k";
}
} else {
return price;
}
}
}