做項目(Angular項目)時經常需要處理金額的顯示,需要在金額前面加上¥,但又不想用簡單在前面加“¥”這麼不優雅的方式,於是想到了CurrencyPipe。畢竟,CurrencyPipe還可以格式化數字。 按照官方提供的 "文檔" ,我寫出這樣的代碼: 刷新頁面,應該沒什麼問題! 什麼,怎麼是CN ...
做項目(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" }
]
})
這樣設置之後,刷新頁面,現在可以正確顯示¥了!