PHP에서 bcdiv() 수학 함수는 두 개의 임의 정밀도(arbitrary precision) 숫자를 나눌 때 사용됩니다. 이 함수는 두 숫자를 문자열 형태로 받아서, 지정된 정밀도(소수점 자릿수)에 맞춰 나눗셈 결과를 문자열로 반환합니다. 쉽게 말해 bcdiv() 함수는 피제수(dividend)를 제수(divisor)로 나눈 결과를 정확하게 계산해 주는 함수입니다.
문법(Syntax)
string bcdiv($num_string1, $num_string2, $scaleVal)
매개변수(Parameters)
bcdiv() 함수는 세 개의 매개변수 $num_string1, $num_string2, $scaleVal을 받습니다.
$num_string1 − 피제수를 나타내며, 문자열 타입의 매개변수입니다.
$num_string2 − 제수를 나타내며, 역시 문자열 타입의 매개변수입니다.
$scaleVal − 선택적(optional) 정수 타입 매개변수로, 결과값의 소수점 이하 자릿수를 지정하는 데 사용됩니다. 기본값은 0이며, 지정하지 않으면 소수점 이하가 잘린 정수 형태의 결과가 반환됩니다.
반환 값(Return Values)
bcdiv() 함수는 $num_string1을 $num_string2로 나눈 결과를 문자열(string) 형태로 반환합니다.
예제 1 − $scaleVal 매개변수 없이 bcdiv() 함수 사용하기
<?php // bcdiv() 함수 사용 예제 // 임의 정밀도를 가진 두 입력 숫자 $num_string1 = "22.5552"; // 피제수(Dividend) $num_string2 = "5"; // 제수(Divisor) $result = bcdiv($num_string1, $num_string2); echo "Scale Value 미사용 출력 결과: ", $result; ?>
실행 결과
Scale Value 미사용 출력 결과: 4
$scaleVal을 지정하지 않으면 기본값인 0이 적용되어, 22.5552 ÷ 5 = 4.51104의 소수점 이하가 모두 잘리고 정수 부분인 4만 반환되는 것을 확인할 수 있습니다.
예제 2 − $scaleVal 매개변수를 사용한 bcdiv() 함수
이번에는 동일한 입력값에 소수점 자릿수(scale value)를 4로 지정하고 결과를 확인해 보겠습니다.
<?php // bcdiv() 함수 사용 예제 // 임의 정밀도를 가진 두 입력 숫자 $num_string1 = "22.5552"; // 피제수(Dividend) $num_string2 = "5"; // 제수(Divisor) // scale 값을 4로 설정 $scaleVal = 4; // $scaleVal 매개변수를 적용하여 나눗셈 수행 $result = bcdiv($num_string1, $num_string2, $scaleVal); echo "Scale Value 적용 출력 결과: ", $result; ?>
실행 결과
Scale Value 적용 출력 결과: 4.5110
$scaleVal을 4로 지정하면 소수점 넷째 자리까지 계산되어 4.5110이라는 정확한 결과가 반환됩니다. 이처럼 bcdiv() 함수는 금융 계산이나 과학적 연산처럼 높은 정밀도가 필요한 나눗셈 처리에 매우 유용합니다.