2011-03-29 211 views
2

我正在創建一個文件讀取程序。我需要過濾掉任何不是'0-9'或'。'的字符。JAVA - 對字符的邏輯運算

任何字符,然後這些需要觸發一個IF語句。

這裏是我的嘗試 -

if ((((char)c < '0') || ((char)c > '9')) || ((char)c != '.')) 

或 -

((((char)c != '0') || ((char)c != '.') || ((char)c != '1') || ((char)c != '2') || ((char)c != '3') || ((char)c != '4') || ((char)c != '5') || ((char)c != '6') || ((char)c != '7') || ((char)c != '8') || ((char)c != '9'))) 

均未奏效。

+0

如果'c'是一個字符或任何其他整數類型,你不應該需要在那裏投射。你通常不想在那裏有一個浮點數... – 2011-03-29 23:09:42

回答

13
if(Character.isDigit(c) || c == '.') 
{ 

} 
5

任何不是'。'的字符。將導致此if語句是真實的,解決它(我拿第一作爲一個例子,但它也適用於第二):

if ((((char)c < '0') || ((char)c > '9')) && ((char)c != '.')) 

或者,你可以寫

if (!(((char)c >='0' && (char) c <='9') || (char) c == '.'))