Angular:CurrencyPipe关于人民币符号¥的问题

 · 1 min read

做项目(Angular项目)时经常需要处理金额的显示,需要在金额前面加上¥,但又不想用简单在前面加“¥”这么不优雅的方式,于是想到了CurrencyPipe。毕竟,CurrencyPipe还可以格式化数字。 按照官方提供的文档,我写出这样的代码:

<span>{ {num | currency: 'CNY':'symbol-narrow'} }</span>

刷新页面,应该没什么问题! 什么,怎么是CN¥,不应该是¥吗? 于是我检查代码,以为把symbol-narrow写成了symbol,可是并没有,百思不得其解! 原来这是Angular的问题!在Angular 2.x - 4.x版本里(5.x已经可以自动识别),在使用货币管道处理人民币之前,应先对Angular进行一些本地化的工作。 如何使其本地化? 在你的app module中:

import { LOCALE_ID } from '@angular/core';
@NgModule({
  providers: [
    { provide: LOCALE_ID, useValue: "ch-CN" }
  ]
})

这样设置之后,刷新页面,现在可以正确显示¥了!