2012-07-16 10 views
4

부서에서 나머지가 없으므로 15 mod 5 = 0을 이해합니다.왜 15.5 mod 5 = 0입니까?

하지만 15.5 mod 5 == 0 인 이유는 무엇입니까? .5 남아 있지 않니? PHP docs 가입일

$time = "15.5"; 
$interval = 5.0; 
if($time % $interval == 0) 
    echo "it's time!"; 
else 
    echo "not time"; 

//Outputs: it's time! 
+0

@Thilo ...을 URL의 예에서 – HeatfanJohn

답변

15

: 계수

오퍼랜드 처리 전 (소수점 부분을 제거함으로써) 정수로 변환된다.

소수 자릿수를 보존하려면 fmod을 사용하십시오. (덕분에이 링크에 대해, OLI 찰스 워드이 같은 함수가 존재하는 것을 인식하지 않았다.)

+1

잘 PHP를 것으로 보인다 : 그것은하지 않습니다 그만큼 빨아 요. 대신 ['fmod'] (http://www.php.net/manual/en/function.fmod.php)를 사용하십시오. – dukevin

+7

@KevinDuke 짜증 –

+0

@Oli 고마워, 내가 뭘 찾고 있었는지 – dukevin

관련 문제