鉴于String
表示int
,我想检查溢出。鉴于int的字符串表示形式,检查溢出
我知道如何使用java的内置函数parseInt
来转换String
从int
。 但是如果String
太大以至于不适合int
会怎样?
String str = "214748364781";
int res = Integer.parseInt(str);
我试图检查String
代表性的符号,做parseInt
如果符号不匹配,那么我可以说,它溢出,因为int
回绕但是当我居然跑它,它扔了NumberFormat
例外。
NumberFormat
对任何错误格式化的字符串都会引发,所以它不能保证溢出。
所以我可以检查出输入字符串的格式是正确的(所有数字),然后做parseInt
那么,如果我得到NumberFormat
我可以得出这样的结论错误的,由于溢出。
但是,我觉得应该有一个更短的方式来做这个检查。