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