2023-05-16 12:03:54 +03:00

21 lines
594 B
TypeScript

import type { InputNumberProps } from 'antd';
type Formatter = NonNullable<InputNumberProps['formatter']>;
export function createFormatter(options: Intl.NumberFormatOptions) {
const format = Intl.NumberFormat('ru', options).format;
const defaultFormat = Intl.NumberFormat('ru').format;
return ((value, { userTyping }) => {
if (userTyping) {
if (options.minimumFractionDigits && options.minimumFractionDigits <= 2) {
return defaultFormat((value || 0) as number);
}
return value || 0;
}
return format((value || 0) as number);
}) as Formatter;
}