PHP에서 bcsub() 수학 함수는 한 임의 정밀도(arbitrary precision) 숫자를 다른 숫자에서 빼는 데 사용됩니다. 이 함수는 두 개의 임의 정밀도 숫자를 문자열 형태로 받아들이며, 결과를 지정된 정밀도에 맞춰 조정한 후 두 숫자의 차이를 반환합니다.
문법(Syntax)
string bcsub($num_str1, $num_str2, $scaleVal)
매개변수(Parameters)
bcsub() 함수는 세 가지 매개변수인 $num_str1, $num_str2, $scaleVal을 받습니다.
$num_str1 − 왼쪽 피연산자(left operand)를 나타내며, 문자열(string) 타입의 매개변수입니다.
$num_str2 − 오른쪽 피연산자(right operand)를 나타내며, 역시 문자열 타입의 매개변수입니다.
$scaleVal − 선택적(optional) 정수형 매개변수로, 결과값에서 소수점 이하 몇 자리까지 표시할지 지정합니다. 기본값은 0입니다.
반환 값(Return Values)
bcsub() 함수는 두 숫자 $num_str1과 $num_str2의 뺄셈 결과를 문자열(string) 형태로 반환합니다.
예제 1 – $scaleVal 매개변수 없이 bcsub() 함수 사용하기
<?php // bcsub() 함수 사용 예제 // 임의 정밀도를 가진 두 입력 숫자 $num_string1 = "10.555"; $num_string2 = "3"; // $scaleVal 매개변수 없이 두 숫자의 뺄셈 계산 $result = bcsub($num_string1, $num_string2); echo "scaleVal 없이 출력한 결과: ", $result; ?>
출력 결과
scaleVal 없이 출력한 결과: 7
$scaleVal 매개변수를 지정하지 않으면 bcsub() 함수는 출력 결과에서 소수점 이하 자릿수를 모두 버립니다.
예제 2 – $scaleVal 매개변수를 사용하여 bcsub() 함수 실행하기
이번에는 동일한 입력값에 scaleVal을 3으로 지정해 보겠습니다. 그러면 출력 결과가 소수점 이하 세 자리까지 표시됩니다.
<?php // bcsub() 함수 사용 예제 // 임의 정밀도를 가진 두 입력 숫자 $num_string1 = "10.5552"; $num_string2 = "3"; // scale 값을 3으로 지정 $scaleVal = 3; // $scaleVal 매개변수를 사용하여 두 숫자의 뺄셈 계산 $result = bcsub($num_string1, $num_string2, $scaleVal); echo "scaleVal 적용 후 출력 결과: ", $result; ?>
출력 결과
scaleVal 적용 후 출력 결과: 7.555
위 예제에서 볼 수 있듯이, $scaleVal을 3으로 설정하면 뺄셈 결과인 7.5552가 소수점 셋째 자리까지만 표시되어 7.555가 출력됩니다. 금융 계산처럼 높은 정밀도가 필요한 상황에서 bcsub() 함수와 $scaleVal 매개변수를 함께 활용하면 원하는 자릿수만큼 정확한 결과를 얻을 수 있습니다.