我一直在尝试根据国家更改AngularJS应用程序中的数字,并使用以下函数在整个应用程序中使用.toLocaleString
函数
numberValueTransformation(value) {
if (value === 0 || value === undefined) {
return 0;
}
const currencyLocale = this.UserPreferences.getCountryLocale().replace(/fr-FR/g, 'de-DE');
const currencyCode = this.UserPreferences.getCountryCode();
return Number(value).toLocaleString(currencyLocale, {
// style: 'currency',
currency: currencyCode,
minimumFractionDigits: 2
});
}
上面的函数运行得很好,但是我需要在整个应用程序中显示括号中的负值。我们可以修改.toLocaleString
以在括号中获得负值吗?或者我需要在整个应用程序中手动更改吗?我得到的值为$123456689。但是如果我得到的是负值-$123456789,但这里我想要的值为($123456789)〈---括号表示减号。
3条答案
按热度按时间vi4fp9gy1#
您可以自己进行检查,而不是直接返回结果。对正数进行转换,如果原始值小于0,则用括号括起来。注意:
ccrfmcuu2#
js库https://numbrojs.com/中有一个特性,可以根据请求格式化括号中的负值。
还有许多其他格式选项,请参阅https://numbrojs.com/format.html#currency
yvt65v4c3#
您可以直接使用
.toLocaleString
函数,如下所示: