我正在创建一个文件读取程序。我需要过滤掉任何不是'0-9'或'。'的字符。
除了这些之外的任何其他字符都需要触发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 :(得分:13)
if(Character.isDigit(c) || c == '.')
{
}
答案 1 :(得分:5)
任何不是'。'的字符。将导致这个if语句为真,修复它(我以第一个为例,但它也适用于第二个):
if ( ( ((char)c < '0') || ((char)c > '9') ) && ((char)c != '.') )
或者,你可以写
if (!( ((char)c >='0' && (char) c <='9') || (char) c == '.') )