使用 formatter和parser,可以限制小數的位數
<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即可