이 기사의 예에서는 숫자가 과학 표기법으로 표시되는 것을 방지하기 위해 PHP가 너무 긴(과대) 숫자 연산을 사용하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
PHP에서는 큰 숫자 연산을 계산할 때 오류가 발생합니다. 숫자가 너무 크면 그 값이 과학적 표기법이 됩니다. 따라서 PHP에서 덧셈, 뺄셈, 나눗셈, 거듭제곱 연산, 제곱 연산을 포함한 큰 숫자 연산을 수행하는 방법은 다음과 같습니다. 루트 및 모듈로 연산이 필요합니까?
과학적 표기법 문제를 해결하려면 값을 지정할 때 따옴표 한 쌍을 추가하면 됩니다.
예:
<?php $n = '22222222222222222222222222220'; echo $n; ?>
따옴표가 없으면 2.22222222222222E가 표시됩니다. 28. 따옴표가 있으면 22222222222222222222222222220이 표시됩니다.
덧셈, 뺄셈, 곱셈과 나눗셈, 거듭제곱 연산, 제곱근, 모듈러 연산을 포함한 매우 큰 수치 연산
PHP의 bcmath 함수를 사용하여 사용자 정의 함수를 생성합니다. 코드는 다음과 같습니다.
<?php function calc($m,$n,$x){ $errors=array( '被除数不能为零', '负数没有平方根' ); switch($x){ case 'add': $t=bcadd($m,$n); break; case 'sub': $t=bcsub($m,$n); break; case 'mul': $t=bcmul($m,$n); break; case 'div': if($n!=0){ $t=bcdiv($m,$n); }else{ return $errors[0]; } break; case 'pow': $t=bcpow($m,$n); break; case 'mod': if($n!=0){ $t=bcmod($m,$n); }else{ return $errors[0]; } break; case 'sqrt': if($m>=0){ $t=bcsqrt($m); }else{ return $errors[1]; } break; } $t=preg_replace("/\..*0+$/",'',$t); return $t; } /*用法举例*/ echo calc('11111111111111111111111111111111110','10','add'); ?>
사용방법:
calc(매개변수 1 매개변수 2, 매개변수 3)
매개변수 3은 연산 방법을 지정합니다: 산술 제곱근을 찾기 위한 add, sub, mul, div, pow, mod, sqrt
덧셈, 뺄셈, 나눗셈: 매개변수 1 더하기/뺄셈/곱하기/나누기 매개변수 2
거듭제곱: 매개변수 1을 매개변수 2의 거듭제곱으로 늘렸습니다.
모듈로: 매개변수 1을 매개변수 2로 나눈 나머지입니다.
산술 제곱근: 매개변수 1의 산술 제곱근을 구합니다. 매개변수 2는 효과가 없지만 생략할 수 없습니다.
더 많은 PHP 관련 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제를 확인할 수 있습니다. "PHP 작업 및 연산자 사용법 요약", "PHP 네트워크 프로그래밍 기술 요약", " PHP 기본 구문 입문 튜토리얼", "PHP 오피스 문서 조작 스킬 요약(워드, 엑셀, 액세스, ppt 포함)", "요약 PHP 날짜 및 시간 사용법》, "php 객체 지향 프로그래밍 입문 튜토리얼", "php 문자열(문자열) 사용법 요약", "php mysql 데이터베이스 운영 입문 튜토리얼" 그리고 "PHP의 일반적인 데이터베이스 운영 기술 요약"
이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.