如何在java中将10位数字文本解析为整数

mag*_*mal 2 java

我已经设置"phone"int数据库中的10位,并采取输入作为我解析使用文本

String phone1=request.getParameter("phone");

int phone =Integer.parseInt(phone1);
Run Code Online (Sandbox Code Playgroud)

但它不起作用为什么?

Bor*_*ski 6

在 Java 中,您可以存储int范围为 -2147483648 到 2147483647 的可变数字。这对于您的 10 位电话号码来说是不够的。您可以使用long以下方法轻松解决此问题:

long phone = Long.parseLong(phone1);
Run Code Online (Sandbox Code Playgroud)

另一方面,我会重新考虑使用数字数据类型来存储电话号码。为什么?

  • 因为如果您的数字并非总是精确的 10 位数字,则您无法存储前导零。
  • 因为你松散了格式,比如“123-456-...”
  • 因为您无法保存诸如#或 之类的东西p,它们是有效的并且有时会在电话号码中使用