PHP에서 bcadd() 수학 함수는 두 개의 임의 정밀도(arbitrary precision) 숫자를 더할 때 사용됩니다. 이 함수는 두 개의 숫자를 문자열 형태로 받아들이며, 결과를 지정된 정밀도(scale)에 맞춰 반올림한 후 그 합계를 반환합니다.
일반적인 산술 연산자나 부동소수점 연산으로는 표현할 수 없는 매우 큰 숫자나 높은 정밀도가 필요한 계산(예: 금융, 과학 연산)에서 bcadd() 함수는 특히 유용합니다.
문법(Syntax)
string bcadd ( $num_str1, $num_str2, $scaleVal)
매개변수(Parameters)
bcadd() 함수는 세 개의 매개변수를 받습니다: $num_str1, $num_str2, 그리고 $scaleVal입니다.
$num_str1 – 왼쪽 피연산자(left operand)를 나타내며, 문자열 타입의 매개변수입니다.
$num_str2 – 오른쪽 피연산자(right operand)를 나타내며, 역시 문자열 타입의 매개변수입니다.
$scaleVal – 선택적(optional) 매개변수로, 결과값에서 소수점 이하 자릿수를 지정하는 데 사용됩니다. 기본값은 0이며, 지정하지 않으면 소수점 이하는 잘립니다.
반환값(Return Values)
bcadd() 함수는 두 피연산자 $num_str1과 $num_str2의 합을 문자열(string) 형태로 반환합니다.
예제 1 – $scaleVal 매개변수 없이 bcadd() 함수 사용하기
<?php
// bcadd() 함수 사용 예제 PHP 프로그램
// 임의 정밀도를 가진 두 개의 입력 숫자
$num_string1 = "5";
$num_string2 = "10.555";
// $scaleVal 없이 두 숫자의 덧셈을 계산
$result = bcadd($num_string1, $num_string2);
echo "scaleVal 없이 출력한 결과: ", $result;
?>출력 결과
scaleVal 없이 출력한 결과: 15
설명 – 위 PHP 예제에서는 $num_string1과 $num_string2라는 두 개의 매개변수만 사용하여 bcadd() 함수로 두 숫자의 덧셈을 계산했습니다. $scaleVal 매개변수를 지정하지 않았기 때문에 결과값이 15로 출력되며, 소수점 이하 자릿수(.555)는 모두 제거됩니다.
예제 2 – $scaleVal 매개변수를 사용하여 bcadd() 함수 호출하기
이번에는 동일한 입력값에 $scaleVal 매개변수를 추가하여 출력 결과가 어떻게 달라지는지 확인해 보겠습니다.
<?php
// bcadd() 함수 사용 예제 PHP 프로그램
// 임의 정밀도를 가진 두 개의 입력 숫자
$num_string1 = "5";
$num_string2 = "10.555";
// scale 값을 2로 지정
$scaleVal = 2;
// $scaleVal 매개변수를 포함하여 두 숫자의 덧셈을 계산
$result = bcadd($num_string1, $num_string2, $scaleVal);
echo "scaleVal 적용 후 출력 결과: ", $result;
?>출력 결과
scaleVal 적용 후 출력 결과: 15.55
설명 – 이번에는 $scaleVal을 2로 설정했기 때문에, 결과값이 소수점 둘째 자리까지 유지되어 15.55로 출력됩니다. 즉, 세 번째 소수 자릿수인 5는 반올림 처리되어 버려집니다. 이처럼 bcadd() 함수에서 $scaleVal을 활용하면 원하는 정밀도 수준으로 덧셈 결과를 정확하게 제어할 수 있습니다.