Antd中InputNumber组件数字限制小数位数

使用 formatterparser,可以限制小数的位数

<InputNumber min={0} step={0.01}
             formatter={limitDecimalsF}
             parser={limitDecimalsP} />
const limitDecimalsF =(value)=>{
  let reg = /^(-)*(\d+)\.(\d\d).*$/;return `¥ ${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',').replace(reg,'$1$2.$3');
};
const limitDecimalsP =(value)=>{
  let reg = /^(-)*(\d+)\.(\d\d).*$/;
  return value.replace(/¥\s?|(,*)/g, '').replace(reg,'$1$2.$3');
};

 

 方法中‘$1$2$3’的含义可以到w3c查询,传送门

负数把属性min={0}去掉即可

需要不止两位小数可以根据需要修改正则中加粗的\d的个数,及需要几个小数就写几个\d即可

posted @ 2020-08-20 14:39  Jade_g  阅读(13879)  评论(0编辑  收藏  举报