2016-11-06 3 views
-2

안녕하세요. 탭 영역이 장치 경계 내에 있는지 확인하는 if 문이 있습니다. 높은 수준에서 이것이 바로 그 것이다.더 큰 숫자보다 더 작은 숫자가 더 큰 숫자입니다 (If 문).

int width = <WidthOfDeviceInPixels>; 
float x = <TappedXCoordinate>; 
if(x > width) 
{ 
    x = width - sizeOfBox; 
} 

내 테스트 사례에 따르면 x가 무엇이든간에 항상이 문장이 적용됩니다. 여기에 인쇄 된 몇 가지 로그가 있습니다

너비 : 1440 | X : 220.213 너비 : 1440 | X : 219.128 너비 : 1440 | X : 243.832 너비 : 1440 | X : 238.235

정수를 부동 소수와 비교하기 때문일 수 있습니다. 내 지식에 정수는 자동으로 부동 소수점 형으로 캐스팅 될 것이라고 생각했습니다.

+1

그냥 디버거에서 실행하고 어떤 폭과 x가 if 문을 실행하기 직전인지 확인하거나 값을 인쇄하십시오 – FredK

+0

@FredK 위 값은 인쇄 된 값입니다 –

답변

0

실제 코드에는 특정 구성 요소를 나타내는 긴 if 문이 포함되어 있습니다. if 문 끝 부분에 세미 콜론이있었습니다. 나는 내가 어떻게 그것을 놓쳤는 지 모른다. 도와 주셔서 감사합니다. 다소 당황 스럽네요 : (

관련 문제