PHP에서 FMOD () 함수는 2 개의 부동 소수점 번호를 나눈 후 나머지를 계산하는 데 사용됩니다. % 모듈 연산자와 달리 FMOD ()는 부동 소수점 번호를 처리하며 나머지의 상징은 배당금과 동일합니다. 이로 인해 FMOD ()는 부정적인 나머지를 계산할 때 특별한 행동 및 응용 프로그램 시나리오를 보여줍니다. 이 기사는 fmod () 함수에서 음성 나머지 계산의 실제 적용 및 예방 조치를 설명합니다.
fmod (float $ num1, float $ num2) : float
FMOD ()는 $ $ NUM1을 $ NUM2 로 나눈 후 나머지를 계산하며 반품 값의 상징은 $ NUM1 과 일치합니다.
<?php
echo fmod(5.7, 2.3); // 산출 1.1
echo fmod(-5.7, 2.3); // 산출 -1.1
?>
제수가 음수 일 때 나머지는 부정적인 부호도 있음을 알 수 있습니다.
시간 계산 및 주기적 처리
시간과 정기 이벤트를 처리 할 때는 종종 타임 스탬프 또는 카운터에서 모듈로 작업을 수행해야합니다. 시간 또는 수가 음수 일 수있는 경우 (예 : 카운트 다운 또는 시차) FMOD ()를 사용하면 음의 나머지를 올바르게 처리하고 시간 논리를 올바르게 유지할 수 있습니다.
<?php
$time = -7.5; // 카운트 다운 초를 나타냅니다
$period = 3.0; // 기간은3두번째
$remainder = fmod($time, $period); // 결과는입니다 -1.5
?>
계산 및 루프 애니메이션 조정
그래픽 또는 애니메이션에서 위치 계산에는 부동 소수점 계산 계산에는 부동 소수점 계산 모듈러스 작업이 포함될 수 있으며, 리버스 루프 또는 와인딩 효과를 계산하는 데 음의 나머지가 사용될 수 있습니다.
재무 계산의 부정적인 나머지
일부 재무 계산에는 금리 조정 또는 주기적 비용이 포함되며, 부정적인 나머지는 마이너스 사례에서 마진을 정확하게 반영 할 수 있습니다.
나머지 기호는 배당 기호와 동일합니다.
fmod () 의 반환 값 기호는 배당 $ Num1 과 일치하며, 이는 PHP에서 % 연산자의 동작과 다릅니다.
<?php
echo fmod(-5, 3); // 산출 -2
echo (-5 % 3); // 산출 -2,결과는 동일하지만 유형은 다릅니다.,fmod 부동 소수점 번호를 반환합니다
?>
정수 모듈러스 작동과의 차이
fmod ()는 부동 소수점 나머지를 계산하며 결과는 소수점이 걸릴 수 있으며 %는 정수 만지지합니다. 플로팅 포인트 오류는 정확도 문제를 일으킬 수 있습니다.
제수는 0이 될 수 없습니다
전달 된 divisor $ num2는 0이 될 수 없습니다. 그렇지 않으면 경고가 생성되고 Nan이 반환됩니다.
네거티브 디바이저 처리
제수가 음수 일 때, 나머지 부호는 여전히 제수가 아닌 배당에 의존합니다.
<?php
echo fmod(5, -3); // 산출 2
echo fmod(-5, -3); // 산출 -2
?>
다음 예는 음의 나머지의 계산 및 실제 적용을 보여줍니다.
<?php
// 나머지 마이너스 시간을 계산하십시오
function cycleTime(float $time, float $period): float {
$mod = fmod($time, $period);
// 균일 한 나머지는 양수입니다(0 도착하다 $period ~ 사이)
if ($mod < 0) {
$mod += $period;
}
return $mod;
}
$times = [-7.5, -3.1, 0, 2.5, 7.8];
$period = 3.0;
foreach ($times as $t) {
echo "시간: $t,남은 기간: " . cycleTime($t, $period) . "\n";
}
?>
산출:
시간: -7.5,남은 기간: 1.5
시간: -3.1,남은 기간: 2.9
시간: 0,남은 기간: 0
시간: 2.5,남은 기간: 2.5
시간: 7.8,남은 기간: 1.8
이 방법을 통해 음의 나머지를 양수로 변환 할 수 있으며, 이는 주기적 처리에 편리합니다.
PHP 기능의 사용에 대해 더 알고 싶다면 공식 PHP 문서를 참조하십시오.