2012-09-05 3 views
0

NSSlider가 있으며 변경 사항을 수정합니다. 하지만 슬라이더의 부동 소수점 값이 예를 들어 2.230000 또는 3.410000 인 경우에만 내 작업을 수행하고 싶습니다.float에 소수점 이하 2 자리 만있는 지 확인하는 방법

if (floatValue is y.xx0000) { 
    doSomething; 
} 

내 플로트가 소수점 이하 두 자리 만 0 인 경우에만 작업을 수행하려고합니다. 어떻게 할 수 있습니까?

답변

4

두 개의 0이 아닌 소수 자릿수 만있는 부동 소수점 값은 n.00, n.25, n.50 또는 n.75 형식의 숫자입니다. 다른 모든 값에는 세 개 이상의 0이 아닌 소수 자릿수가 있습니다. 귀하의 예를 들어, 3.41, 예를 들어, 정말 "3.41"되지 않습니다. 대신는 다음과 같습니다

3.410000000000000142108547152020037174224853515625 

와 "2.23"실제로 :

2.229999999999999982236431605997495353221893310546875 

은 그래서 당신이 정말로하려고?

+0

예를 들어 내 슬라이더 경계가 '1.5'에서 '1.6'인 경우이 값에 대해서만 응답하고 싶습니다. '1.50, 1.51, 1.52, 1.53, 1.54, 1.55, 1.56, 1.57, 1.58, 1.59, 1.60 '와 다른 모든 것들 (예 :'1.510000000025251000125') 나는 무시하고 싶다. – hockeyman

+0

아, 그게 쉽습니다. 1.5와 1.6 사이의 소수 값은 소수점 이하 두 자리 숫자 만 ** ** 있습니다. 이것이 스티븐이이 대답에서 말하는 것입니다. 그것이 수레가 작동하는 방법입니다 ... – lnafziger

+0

그리고 그것이 '1.50000000000000000000000'이라고 상상한다면 float 값이 존재합니까? 또는 쉼표 뒤에 0보다 큰 하나 또는 두 개의 숫자 만 가질 수 있습니까? – hockeyman

관련 문제