天天看点

React Native只支持输入数字和小数点 并且保留两位小数

isNumber(text) {
    // 只支持输入数字和小数点
    const numberReg = new RegExp(/^[0-9.]*$/);
    if(!numberReg.test(text)) {
      text = text.substring(0, text.length - 1);
      console.log('texttexttext', text);
    }
    // 小数点后只支持输入两个字符
    if(text.indexOf('.') >= 0) {
      console.log('小数截取长度', text.substring(text.indexOf('.'), text.length).length);

      if(text.substring(text.indexOf('.'), text.length).length >= 3) {
        const amount = text.substring(0, text.indexOf('.') + 3);
        return parseFloat(amount) + ''; //有四舍五入的作用
      }
    }
    return text;
  }