PHP에서 bcsqrt() 함수는 임의 정밀도(arbitrary precision) 숫자의 제곱근을 계산하는 데 사용됩니다. 이 함수는 숫자를 문자열 형태로 받아들이며, 결과를 지정된 소수점 자릿수(정밀도)에 맞춰 반올림한 후 제곱근 값을 반환합니다.
문법
string bcsqrt($num_string, $scale)
매개변수
bcsqrt() 함수는 두 개의 매개변수를 받습니다: $num_string과 $scale.
$num_string − 제곱근을 구할 대상 숫자를 나타냅니다. 문자열 타입의 매개변수입니다.
$scale − 출력 결과에서 소수점 이하로 표시될 자릿수를 지정합니다. 선택적 매개변수이며, 지정하지 않으면 기본값이 적용됩니다.
반환 값
bcsqrt() 함수는 해당 숫자의 제곱근을 문자열 형태로 반환합니다.
예제 1
<?php // 임의 정밀도 입력 숫자 $num_string = "22"; // 아래 bcsqrt 함수가 제곱근을 계산합니다 $result = bcsqrt($num_string); echo "scale 값 없이 출력: ", $result; ?>
출력
scale 값 없이 출력: 4
예제 2
<?php // 임의 정밀도 입력 숫자 $num_string = "22"; // scale 값 3 지정 $scale = "3"; // 아래 bcsqrt 함수가 제곱근을 계산합니다 $result = bcsqrt($num_string, $scale); echo "scale 값 지정 후 출력: ", $result; ?>
출력
scale 값 지정 후 출력: 4.690
정리
위 예제에서 볼 수 있듯이, scale 값을 지정하지 않으면 제곱근의 정수 부분만 반환되지만, scale 값을 지정하면 소수점 이하 원하는 자릿수까지 정확한 결과를 얻을 수 있습니다. 예를 들어 22의 제곱근은 약 4.69041576...이며, scale 값 3을 지정하면 소수점 셋째 자리까지 반올림된 4.690이 반환됩니다. 이처럼 bcsqrt() 함수는 일반 float 연산으로는 표현할 수 없는 높은 정밀도의 수학적 계산이 필요할 때 매우 유용합니다.