Java的ParseInt方法捕獲的字符串將愉快地解析具有前導零供給十進制值未拋出異常,剝離零:爪哇parseInt函數() - 具有前導零
int value = Integer.parseInt("050", 10);
將導致整數值50
但是,我有一個應用程序需要一個像這樣的字符串作爲無效輸入被拒絕。我對這個問題至今一直以解析整數轉換回字符串,並且比較原始/解析字符串長度的解決方案,看是否有字符已被剝奪,如:
String original = "050";
value = Integer.parseInt("050", 10);
String parsed = Integer.toString(value);
if (original.length() != parsed.length()) {
System.exit(1);
}
,工作正常,但感覺有點哈克。是否有更好的方法來檢測和處理前導零?
你不能使用正則表達式來檢查前導0's'嗎? – TheLostMind 2015-02-05 13:09:02
它是否必須佔一個以上領先的0?例如'0050'。此外,領先的空間或類似的東西呢? – 2015-02-05 13:09:50
在我的情況下,允許使用前導空格,但應該捕獲一個或多個前導零0050' – 2015-02-05 13:11:36