当前位置:网站首页>保留一位小数和保留两位小数

保留一位小数和保留两位小数

2022-06-24 06:46:00 张小浪

保留一位小数

export const inputTake2AfterDot =(obj:any)=>{
  // return value.toString().match(/^\d+(?:\.\d{0,2})?/)
  // 清除"数字"和"."以外的字符
  obj.value = obj.value.replace(/[^\d.]/g,"");
  // 验证第一个字符是数字
  obj.value = obj.value.replace(/^\./g,"");
  // 只保留第一个, 清除多余的
  obj.value = obj.value.replace(/\.{2,}/g,".");
  obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
  // 只能输入一个小数
  obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');
  // return Math.round(value*Math.pow(10,2))/Math.pow(10,2)
};

保留两位小数

export const inputTake2AfterDot =(obj:any)=>{
  // return value.toString().match(/^\d+(?:\.\d{0,2})?/)
  // 清除"数字"和"."以外的字符
  obj.value = obj.value.replace(/[^\d.]/g,"");
  // 验证第一个字符是数字
  obj.value = obj.value.replace(/^\./g,"");
  // 只保留第一个, 清除多余的
  obj.value = obj.value.replace(/\.{2,}/g,".");
  obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
  // 只能输入两个小数
  obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
  // return Math.round(value*Math.pow(10,2))/Math.pow(10,2)
};

区别就在最后

这里我是在 antd 中的Input调用的 如下:

<Input placeholder={'工时'} value={myTaskStore.workingHours} onChange={this.hoursChange} suffix="小时"
                       onInput={(e:any)=>{
                         let obj = e.target;
                         inputTake2AfterDot(obj)
                       }}
                />

 

原网站

版权声明
本文为[张小浪]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_40011214/article/details/108522428