javascript - 最后两个数字前加逗号,三个数字后保留点
问题描述
我有一个输入,它有一个格式化程序,可以在每三个数字之后添加一个点,但我需要在最后两个数字之前用逗号将它变成一个浮点数。现在,我的代码是这样的,但我不知道如何将逗号放在最后两位数之前。
<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
解决方案
您可以使用浏览器的 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%' }}
/>
推荐阅读
- javascript - 如何在 react.js 中隐藏特定页面的侧边栏?
- wpf - 使用调度程序在另一个线程上调用 - 配置/设置在 .Net Core 3.1 中不是线程安全的
- json-rpc - 有没有记录 json rpc api 的好工具?
- html - 如何在 Ipad 中更改方向时隐藏自动 HTML 选择元素
- reactjs - React Hook useEffect 缺少依赖项:props
- java - 如何计算导入到数组 CSV 文件中的行数?
- laravel - 检查不在数组中的数据与 2 个值匹配
- sql - T-SQL 条件“WHERE”子句和“IN”子句包含结果集中的所有键
- c - 在 C 中取消引用指向结构的指针时会发生什么?
- javascript - 如何在多次单击时添加输入字段