当我保存数据时给出错误,即数值超出范围
我已经在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;
}
告诉我哪个值即将结束,我应该怎么做
最佳答案
您没有告诉我们tftele是什么,但是从调用的方法中,我想它是一个JTextField。
如果是这样,您的问题是在第一个示例中,您要获取long
值并分配给double
。double
是双精度浮点值,因此使用它的64位分配内存中的很多来存储小数点后的值。没有必要将值存储为双精度值,尤其是在将其解析为long值之后(无论如何,小数点后都会抛出异常)。
我相信您的代码应该使用long
值,因为您将其解析为很长的时间。
另外,考虑在执行X.parseX(text)时捕获NumberFormatException;陈述以防万一您的用户在文本字段中键入非数字值。
关于java - 数值超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5613760/