首页 > 解决方案 > 最后两个数字前加逗号,三个数字后保留点

问题描述

我有一个输入,它有一个格式化程序,可以在每三个数字之后添加一个点,但我需要在最后两个数字之前用逗号将它变成一个浮点数。现在,我的代码是这样的,但我不知道如何将逗号放在最后两位数之前。

<InputNumber
    formatter={value => String(value).replace(/\D/g, '').split(/(?=(?:\d{3})*$)/g).join('.')}
    max={1000000}
    parser={value => String(value).replace(/\D/g, '')}
    style={{ width: '100%' }}
/>

例如,输出为 2.000,但我需要它为 2.000,00

标签: javascriptreactjs

解决方案


您可以使用浏览器的 Intl.NumberFormat API。您想要的格式用于意大利和其他一些欧洲国家。

例如new Intl.NumberFormat('IT', {minimumFractionDigits: 2}).format('100000')


<InputNumber
    formatter={value => new Intl.NumberFormat('IT', {minimumFractionDigits: 2}).format(value)}
    max={1000000}
    parser={value => String(value).replace(/\D/g, '')}
    style={{ width: '100%' }}
/>

推荐阅读