R에서 카운터를 0.05 씩 증가시켜야하는 함수를 작성했습니다. 내가 카운터의 가치를 조건으로 할 때 나는 그 가치가 나타나지 않는다고 말하고있다.10 진수로 증가하는 R이 예상 된 값을 반환하지 않습니다.
예 : - 0
설정 대향 < CNTR
0 cntr;
[1] 0
0.05 시험에 의해 증가 된 카운터
CNTR < - CNTR + 0.05; cntr; [1]
> cntr == 0.05
[1] TRUE
0.05
지금까지 너무 좋아. 그러나 몇 번 반복하면 다음과 같은 결과가 발생합니다.> cntr <- cntr + 0.05; cntr;
[1] 0.1
> cntr == 0.1
[1] TRUE
> cntr <- cntr + 0.05; cntr;
[1] 0.15
> cntr == 0.15
[1] FALSE
무슨 일이 일어나고 있으며, 그 이유는 무엇입니까? cntr에 대해 반환 된 값은 0.15이지만이 값과 같지 않습니까? 추가 조사이 밝혀 :
> cntr < 0.1500000000000001
[1] TRUE
> cntr < 0.15000000000000001
[1] FALSE
및
이 뭔가 오해 또는 AM TRUE 무언가가 I가 보고 있지 않습니까? 어떤 도움이라도 대단히 감사하겠습니다. 고맙습니다.라운드 (CNTR 2) == 0.15 [1]
[FAQ 7.31] (http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f)입니다. –