如何在 Java 中存储超过 10 位的数字

Can*_*erk 3 java mysql numberformatexception

我的代码有问题

nama=txtNama.getText().trim();
int nim =Integer.parseInt(txtNIM.getText());
alamat=txtAlamat.getText().trim();
int telp =Integer.parseInt(txtTelp.getText());
Run Code Online (Sandbox Code Playgroud)

在代码整数

int nim =Integer.parseInt(txtNIM.getText());
int telp =Integer.parseInt(txtTelp.getText());
Run Code Online (Sandbox Code Playgroud)

我只能输入10个数字,如果输入超过10个数字就会出错

线程“AWT-EventQueue-0”中的异常java.lang.NumberFormatException:对于输入字符串:“1111111111111”

感谢您的关注和帮助。

Jam*_*zba 6

IntegerJava 中的An是 32 位长,它只能保存来自 [ -2147483648, 2147483647] 的值。

用一个 long

long nim = Long.parseLong(txtNIM.getText());
long telp = Long.parseLong(txtTelp.getText());
Run Code Online (Sandbox Code Playgroud)

Along是 64 位,它可以保存 [ -9223372036854775808, 9223372036854775807] 中的值

如果你必须做得更大,你可以使用BigInteger类。

  • 投反对票的人应该解释原因。我认为这是最好的答案。 (4认同)