【发布时间】:2012-06-19 14:19:01
【问题描述】:
我正在制作一个基于 Web 的应用程序,并且我有文本字段,其中的值存储为字符串。问题是某些文本字段将被解析为整数,并且您可以在字符串中存储比在整数中更大的数字。我的问题是,确保可以将 String 数字解析为 int 而不会出错的最佳方法是什么。
【问题讨论】:
-
通过在
try/catch(NumberFormatException e)中解析Integer.parseInt(...)来验证输入。 -
你的号码有多大?你的数字是否超出了 Java 中可用类型的范围(双/浮点)?
-
@HovercraftFullOfEels 我不认为 OP 在谈论
NumberFormatException。我认为是关于String转换为数字时(Integer),可能超出范围。 -
@KazekageGaara Integer.parseInt 检查范围
-
除非您真的关心意外的前导或尾随空格,否则请在调用 parseInt() 之前在字符串上调用 String.trim(),如所有答案中所建议的那样。至少在 Java 6 中,parseInt() 在前导或尾随空格上抛出异常。