当我保存数据时,它给出了错误,即NUMERIC VALUE OUT OF RANGE 我在MS ACCESS DB中已经将这3个字段作为数据库号
我被移动电话号码4343242434,我写的代码是:
double mno= Long.parseLong(tfmno.getText());
len = tfmno.getText().length();
if(len!=10) {
JOptionPane.showMessageDialog(null,"Enter The 10 Digit Mobile No","Error",JOptionPane.ERROR_MESSAGE);
return;
}
我的密码为:2222222,我的密码代码为:
我
nt pincode=Integer.parseInt(tfpcd.getText());
len1 = tfpcd.getText().length();
if(len1!=7) {
JOptionPane.showMessageDialog(null,"Enter The 7 Digit Pin Code","Error",JOptionPane.ERROR_MESSAGE);
return;
}
我接到电话号码:2222333,我的代码是:
int tele=Integer.parseInt(tftele.getText());
len2 = tftele.getText().length();
if(len2!=7){
JOptionPane.showMessageDialog(null,"Enter The 7 Digit Telephone No","Error",JOptionPane.ERROR_MESSAGE);
return;
}
告诉我哪个值正在执行,我该怎么做
答案 0 :(得分:1)
你没有告诉我们tftele是什么,但是从调用的方法来看,我猜它是一个JTextField。
如果是这样,您的问题是,在第一个示例中,您将获取long
值并分配给double
。
double
是一个双精度浮点值,因此使用了很多64位分配的内存来存储小数位后的值。将值存储在double中是没有意义的,特别是在它被解析为long之后(任何小数位都会抛出异常)。
我相信您的代码应使用long
值,因为您将其解析为long。
另外,考虑在执行X.parseX(text)时捕获NumberFormatException;陈述也是;以防您的用户为文本字段键入非数字值。
答案 1 :(得分:0)
嗯,应用程序应该告诉您错误所在的字段/行。
然而,就像杰克告诉你的那样,可能就是这句话:double mno= Long.parseLong(tfmno.getText());
顺便问一下,为什么不将这些值存储为文本?