Javascript 如何在React中将十进制检测为数字

Javascript 如何在React中将十进制检测为数字,javascript,reactjs,Javascript,Reactjs,我使用这个函数来检测值是否为整数。现在,当我输入十进制数字时,我在为数字设置的验证中抛出了一个错误。我将如何输入像5.79这样的值。它只对整数有效 这是检查整数的函数 static isInt(value: any) { var x: any; return typeof value =="number"; } 我使用此验证来检查输入值是否为数字 static checkNumber(value: number, minNumber: num

我使用这个函数来检测值是否为整数。现在,当我输入十进制数字时,我在为数字设置的验证中抛出了一个错误。我将如何输入像5.79这样的值。它只对整数有效

这是检查整数的函数

      static isInt(value: any) {
        var x: any;

       return typeof value =="number";
    }
我使用此验证来检查输入值是否为数字

static checkNumber(value: number, minNumber: number, maxNumber: number): IValdationResuslt {
        if (value >= minNumber) {
            if (value <= maxNumber) {
                return { state: true, message: `Valid` } as Valid;
            }
            return { state: false, message: `Max Characters ${maxNumber} : Entered ${value}` } as IValdationResuslt;
        }
        return { state: false, message: `Min Number ${minNumber} : Entered ${value}` } as Invalid;
    }

javascript的Number对象中已经有一个名为isInteger的函数。 如果要检查该值是否为数字而不是整数,只需检查:


!!Number.isIntegervalue&&typeof value==Number

javascript的Number对象中已经有一个名为isInteger的函数。 如果要检查该值是否为数字而不是整数,只需检查:

!!Number.isIntegervalue&&typeof value==Number

您可以使用Number.isFinite来计算输入是否为Number

const isNumber=number=>number.isFinitenumber; 设num=4; log`${num}是一个数字:${isNumbernum}`; num=4.54; log`${num}是一个数字:${isNumbernum}`; num='a'; log`${num}是一个数字:${isNumbernum}`; //4是一个数字:对 //4.54是一个数字:对 //a是数字:false您可以使用number.isFinite来计算输入是否为数字

const isNumber=number=>number.isFinitenumber; 设num=4; log`${num}是一个数字:${isNumbernum}`; num=4.54; log`${num}是一个数字:${isNumbernum}`; num='a'; log`${num}是一个数字:${isNumbernum}`; //4是一个数字:对 //4.54是一个数字:对
//a是一个数字:false当我将其解析为浮点时,错误消失了。虽然我在表单中将其设置为数字,但它被视为字符串。这样就避免了这种情况

static isInt(value: any) 
{       
       var check = parseFloat(value)       
       console.log(typeof check)  

       return check

}

当我将其解析为浮点时,错误就消失了。虽然我在表单中将其设置为数字,但它被视为字符串。这样就避免了这种情况

static isInt(value: any) 
{       
       var check = parseFloat(value)       
       console.log(typeof check)  

       return check

}

你为什么不检查一下这个值是不是一个数字?Numbervalue?为什么不检查该值是否为数字?Numbervalue?静态isIntvalue:任何{return Number.isFinitevalue},它会工作吗?它应该工作。您可以在浏览器控制台中快速尝试此操作。是的,我这样做了,验证仍然会抛出错误,即它不是一个数字,您可以尝试此操作以安全访问isNumber=number=>number&&number.isFinitenumber;Number.isFinitevalue有效,我想问题出在我写的checkNumber.isFinitevalue:any{return Number.isFinitevalue}上,这行得通吗?应该行。您可以在浏览器控制台中快速尝试此操作。是的,我这样做了,验证仍然会抛出错误,即它不是一个数字,您可以尝试此操作以安全访问isNumber=number=>number&&number.isFinitenumber;我想问题出在我写的支票号码上