javascript - 在 Angular 中获取不同语言数字的千位分隔符
在英语区域,数字看起来像这样:111,111,222.00,所以千位分隔符是逗号,小数分隔符是点。例如,在德语中,同样的数字看起来像111.111.222,00,因此千位分隔符和小数分隔符是相反的。有没有办法根据区域设置找到千位分隔符?
我在 Angular 中找到了 https://angular.io/api/common/getLocaleNumberFormat getLocaleNumberFormat() 函数,但我找不到如何使用它,因为它总是返回 en 语言环境的格式
答案#1
使用 getLocaleNumberSymbol()。
getLocaleNumberSymbol(locale: string, symbol: NumberSymbol): stringimport { getLocaleNumberSymbol, NumberSymbol } from '@angular/common';
// returns thousands sepator, comma (,) in this case:
getLocaleNumberSymbol('en-US', NumberSymbol.CurrencyGroup)
// returns decimal separator, dot (.) in this case:
getLocaleNumberSymbol('en-US', NumberSymbol.CurrencyDecimal)
如果你的区域设置不同于 en-US,你应该将你的区域数据导入到 AppModule 中:
import '@angular/common/locales/global/en-GB';
@NgModule({...})
export class AppModule {
}
可用语言环境列表可在此处找到:https://github.com/angular/angular/tree/master/packages/common/locales
答案#2
我通常在我的 app.module 中设置全局区域设置。
应用程序.模块.ts
import { registerLocaleData } from '@angular/common';
import localeHe from '@angular/common/locales/he';
registerLocaleData(localeHe, 'he');
@NgModule({ // ....
Angular 国际化文档
