Java 即使我提供了正确的输入,我的函数也总是返回FALSE

Java 即使我提供了正确的输入,我的函数也总是返回FALSE,java,php,android-studio,Java,Php,Android Studio,使用textEdit并从用户处获取一个double,将其转换并保存为一个double变量并传递到我的API。。。然后有一个函数来检查验证,但是如果这个数字是有效的,我会得到一个错误的返回。。。我在别的地方试过我的代码我很好。。。但在我的android应用程序中,它并没有按应有的方式工作。。。有什么问题吗 在android应用程序中: String natnal_number = editTextNationalNumber.getText().toString(); double nationa

使用textEdit并从用户处获取一个double,将其转换并保存为一个double变量并传递到我的API。。。然后有一个函数来检查验证,但是如果这个数字是有效的,我会得到一个错误的返回。。。我在别的地方试过我的代码我很好。。。但在我的android应用程序中,它并没有按应有的方式工作。。。有什么问题吗

在android应用程序中:

String natnal_number = editTextNationalNumber.getText().toString();
double national_number =textToDouble(natnal_number);

private double textToDouble(String natnal_number) {
        if (natnal_number != null && natnal_number.length() > 0)
                return Double.parseDouble(natnal_number);
        else
            return 0;
    }
函数调用:

   if(!$this->isNationalNumberValid($national_number)){

        return INVALID_NATIONAL_NUMBER;
    };
我的职能

       function isNationalNumberValid($input){

        if(!preg_match('/^[0-9]{10}$/',$input))
            return false;
        for($i=0;$i<10;$i++)
            if(preg_match('/^'.$i.'{10}$/',$input))
                return false;
        for($i=0,$sum=0;$i<9;$i++)
            $sum+=((10-$i)*intval(substr($input, $i,1)));
        $ret=$sum%11;
        $parity=intval(substr($input, 9,1));
        if(($ret<2 && $ret==$parity) || ($ret>=2 && $ret==11-$parity))
            return true;
        return false;
}

什么是
无效的\u国家\u编号
?PHP函数位似乎很好。当我的结果等于无效的\u国家\u编号时,它只是一个常量无效的\u国家\u编号。我打印错误消息…它使用32位整数吗?不确定如何检查它?我在android中使用双变量类型从textEdit中获取数字,并在我的数据库中使用bigint什么是
无效的\u NATIONAL\u数字
?PHP函数位似乎很好。当我的结果等于无效的\u NATIONAL\u数字时,它只是一个常量无效的\u NATIONAL\u数字。我打印错误消息…它使用32位整数吗?不确定如何检查?我在android中使用双变量类型从textEdit中获取数字,并在数据库中使用bigint
    float national_number = 
    Float.valueOf(editTextNationalNumber.getText().toString());