我的任务是格式化数字:
1000000 -> 1 000 000, 00
我的解决方案非常变形:
public transform(value: number | string, locale: string = 'ru-RU'): string {
if (value == null) { return null; }
const number = typeof value === 'number'
? value
: parseFloat(value);
let result = number.toLocaleString(locale, this.options);
if (result.indexOf(',') !== -1) {
const arr = result.split(',');
if (arr[1].length === 1) {
arr[1] += '0';
}
result = arr[0] + ', ' + arr[1].slice(0, 2);
} else {
result += ', 00';
}
return result;
}
我该如何改善?也许带有正则表达式或其他内容。