我一直在尝试根据国家/地区更改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)
您可以自己连接检查,而不是直接返回结果。对正数进行转换,如果原始值小于0,则用括号括起来:
var absValue = Math.abs(value);
var returnString = Number(absValue).toLocaleString(currencyLocale, {
// style: 'currency',
currency: currencyCode,
minimumFractionDigits: 2
});
return value < 0 ? '-(' + returnString + ')' : returnString;