【问题标题】:Angular currency pipe without value没有价值的角货币管
【发布时间】:2021-10-22 12:32:56
【问题描述】:

是否可以在没有实际金额/价值的情况下使用货币管道?

https://angular.io/api/common/CurrencyPipe中的值一起使用:

@Component({
  selector: 'currency-pipe',
  template: `<div>
    <!--output 'CA$0.26'-->
    <p>{{a | currency:'CAD'}}</p>
  </div>`
})
export class CurrencyPipeComponent {
  a: number = 0.259;
  b: number = 1.3495;
}

输出:CA$0.26

但是,我需要输入“CAD”并输出“CA$”。这有可能吗?

期望的行为:

@Component({
  selector: 'currency-pipe',
  template: `<div>
    <p>{{currency | currency:'CAD'}}</p>
  </div>`
})

所需输出:CA$

【问题讨论】:

标签: angular typescript pipe


【解决方案1】:

如果你看源代码:

https://github.com/angular/angular/blob/master/packages/common/src/pipes/number_pipe.ts#L205

如果输入是“非值”,你会发现管道返回 null - 如果以下函数返回 false:

function isValue(value: number|string|null|undefined): value is number|string {
  return !(value == null || value === '' || value !== value);
}

也许,实现您想要的结果的最佳方法是创建您自己的管道。看一下 CurrencyPipe 的代码。最重要的片段是:

currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);

可能这就是你想要使用的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    相关资源
    最近更新 更多