天天看點

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;
  }