Angular 为什么角度数管道输出与Intl.NumberFormat.format()不同?
使用数字管道时,我遇到的输出与我认为已指定要使用的区域设置的自定义Angular 为什么角度数管道输出与Intl.NumberFormat.format()不同?,angular,localization,internationalization,angular6,Angular,Localization,Internationalization,Angular6,使用数字管道时,我遇到的输出与我认为已指定要使用的区域设置的自定义Intl.NumberFormat事件不同 假设我有一个数字x=1234.56,我想输出它 管道返回编号1234.56 {{x|number:'1.2-2':'de-CH'} Intl.NumberFormat返回1'234.56 twoFractionDigitNumberFormat=new Intl.NumberFormat('de-CH',{minimumFractionDigits:2,maximumFractionD
Intl.NumberFormat
事件不同
假设我有一个数字x=1234.56
,我想输出它
管道返回编号1234.56
{{x|number:'1.2-2':'de-CH'}
Intl.NumberFormat
返回1'234.56
twoFractionDigitNumberFormat=new Intl.NumberFormat('de-CH',{minimumFractionDigits:2,maximumFractionDigits:2});
{{twoFractionDigitNumberFormat.format(x)}
我已经设置了JSFIDLE来显示不同的输出:
我知道我可以创建一个自定义管道,用
,
替换,
,,但我想知道这个差异是从哪里来的,理想情况下,除了替换字符串外,我还可以如何修复它。如果我得到正确的通知,数字管道也会在引擎盖下使用国际化api。区别在于Angular不使用Intl api(除非您使用Angular的非常旧版本)。好的,谢谢@JBNizet的快速回复。我添加了angular6标记,以明确此行为与版本相关。