입력 값을 비교하려고합니다. 다음은 내가 말하고자하는 샘플입니다.자바의 입력 값을 비교했습니다
if(text.input != float)
{
//code to calculate
}
숫자가 입력되지 않도록하고 싶지 않습니다. 이 올바른지?
입력 값을 비교하려고합니다. 다음은 내가 말하고자하는 샘플입니다.자바의 입력 값을 비교했습니다
if(text.input != float)
{
//code to calculate
}
숫자가 입력되지 않도록하고 싶지 않습니다. 이 올바른지?
당신은 논리를 구현하는 것 "일을"try/catch 블록을 사용
try {
float value = Float.valueOf(text.input);
// Do something with value - it's OK.
} catch (NumberFormatException e) {
// text.input is not a float, handle appropriately...
}
사용자 정의에 대해 'valueOf'가 작동합니까? .. java에서 작동하지 않습니다. –
_user-define_이 무엇입니까? 'text.input'은 분명히 java.lang.String이어야합니다. –
그런 짓을해야하지만, 나는 그것을 할 수있는보다 효율적인 일이 있는지 모르겠어요.
실제로 텍스트 값이 시간의 작은 비율을 제외하고는 모두 float 인 경우 부동 소수점 문자는 예외적 인 상황이므로 try/catch 배열에 동의합니다.
부동 소수점이 입력의 상당 부분 인 경우 예외를 throw하는 대신 올바른 수식을 확인하는 정규식을 사용하는 것이 더 낫다고 말할 수 있습니다.
당신의 진술은 일반적으로 정확합니다 (예외는 _exceptional_ 상황을 처리하기 위해 저장되어야합니다). 그러나 제 경험상,이 예외는 넓은 의미에서 사용됩니다 :). 'Float.valueOf()'는 엔지니어링 표기법과 다른 것들을 구문 분석 할 수 있습니다. –
충분히 공정합니다. OP (및 다른 모든 사람들)는 절충안을 알아야합니다. 정규 표현식은 예외없이 동일하게 수행 될 수 있습니다. http://stackoverflow.com/questions/2293780/how-to-detect-a-floating-point-number-using-a- regular-expression – duffymo
정확하지 않은 방법 .. 작동하지 않습니다. –