Angular 5 - currencyPipe

Dav*_*las 7 currency pipe currency-pipe angular

我对Angular中已经内置的CurrencyPipe有问题.

我需要使用CurrencyPipe显示货币符号,但除非我提供输入数字,否则我无法使用它.

因为CurrencyPipe使用当前的区域设置来获取货币符号,所以我认为输入的数字可以是可选的.

目前的行为:

{{ 1 | currency:'USD' }} --> $1
Run Code Online (Sandbox Code Playgroud)

需要的行为:

{{ null | currency:'USD' }} --> $
Run Code Online (Sandbox Code Playgroud)

你们是否知道默认管道是否可行?谢谢!!

小智 9

试试这个简单的自定义货币管道

{{ null | CustomeCurrency }}</p>

import { Pipe, PipeTransform } from '@angular/core';
import { CurrencyPipe } from '@angular/common';
@Pipe({ name: 'CustomeCurrency' })
export class CustomCurrencyPipe implements PipeTransform {

constructor(private currencyPipe: CurrencyPipe) { }

transform(value: any, currency: string, symbol: boolean = false): string {
     if (value != null)
        return this.currencyPipe.transform(value, currency, symbol);
    return this.currencyPipe.transform(0, currency, symbol).split('0.00')[0];
 }
}
Run Code Online (Sandbox Code Playgroud)


小智 7

使用角度货币管道

{{ money | currency:'USD':'symbol' }}
Run Code Online (Sandbox Code Playgroud)

  • 答案看起来可以解决问题。您能提供更多信息吗?就像参考页面一样让用户更好地理解? (2认同)

小智 6

如果您收到错误消息The currency pipe has changed in Angular v5. symbolDisplay 选项(第三个参数)现在是字符串而不是布尔值。可接受的值为“code”、“symbol”或“symbol-narrow”。然后参考 Angular 文档寻求帮助,使用此页面上的代码示例来解决问题:https : //angular.io/api/common/CurrencyPipe


dev*_*ish 5

Angular v5 中的货币管道已更改。symbolDisplay 选项(第三个参数)现在是字符串而不是布尔值。可接受的值为“code”、“symbol”或“symbol-narrow”。