获取不同语言中数字的千位分隔符 Angular

use*_*222 2 javascript typescript angular

在英语语言环境中,数字如下所示:111,111,222.00 因此千位分隔符是逗号,小数分隔符是点。例如,在德语中,相同的数字看起来像111.111.222,00千位和小数分隔符相反。有没有办法根据区域设置找到千位分隔符?

我在 Angular 中找到了https://angular.io/api/common/getLocaleNumberFormat getLocaleNumberFormat()函数,但我找不到如何使用它,因为它总是返回格式en区域设置格式

小智 7

使用getLocaleNumberSymbol()

getLocaleNumberSymbol(locale: string, symbol: NumberSymbol): string

import { 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)
Run Code Online (Sandbox Code Playgroud)

如果您的区域设置数据AppModule不同于en-US

import '@angular/common/locales/global/en-GB';

@NgModule({...})
export class AppModule {
}
Run Code Online (Sandbox Code Playgroud)

可用区域设置列表可以在这里找到: https ://github.com/angular/angular/tree/master/packages/common/locales