>  기사  >  백엔드 개발  >  과학 표기법으로 숫자가 표시되는 것을 방지하기 위해 매우 긴 숫자 연산을 사용하는 PHP의 예

과학 표기법으로 숫자가 표시되는 것을 방지하기 위해 매우 긴 숫자 연산을 사용하는 PHP의 예

*文
*文원래의
2017-12-29 19:03:262128검색

이 글에서는 과학 표기법으로 숫자가 표시되는 것을 방지하기 위해 매우 긴(매우 큰) 숫자 연산을 사용하는 PHP의 방법을 주로 소개하고, PHP 수학 연산 및 문자열 연산에 관련된 기술을 포함합니다. 그것이 모두에게 도움이 되기를 바랍니다. 이 기사의 예에서는 숫자가 과학적 표기법으로 표시되는 것을 방지하기 위해 PHP가 초장수(초대형) 숫자 연산을 사용하는 방법을 설명합니다. 참고용으로 공유합니다.

자세한 내용은 다음과 같습니다.

PHP에서는 큰 숫자 연산을 계산할 때 오류가 발생합니다. 숫자가 너무 크면 값이 과학적 표기법이 됩니다. 따라서 PHP에서 덧셈, 뺄셈을 포함한 매우 큰 숫자 연산을 수행하는 방법은 다음과 같습니다. 곱셈과 나눗셈, 거듭제곱 연산, 제곱근, 모듈로 연산은 어떻게 되나요?

과학 표기법 문제를 해결하려면 값을 할당할 때 따옴표 한 쌍을 추가하세요.

예:

<?php
$n = &#39;22222222222222222222222222220&#39;;
echo $n;
?>

그렇지 않은 경우 따옴표를 추가하면 2.2222222222222E+28이 표시됩니다. 따옴표를 추가하면 2222222222222222222220

추가, 뺄셈, 곱셈 및 나눗셈, 거듭제곱 연산, 제곱근 및 모듈로 연산을 포함한 초대형 수치 연산이 표시됩니다. 사용자 정의 함수를 생성하는 PHP의 bcmath 함수, 코드는 다음과 같습니다.

<?php
function calc($m,$n,$x){
  $errors=array(
    &#39;被除数不能为零&#39;,
    &#39;负数没有平方根&#39;
  );
  switch($x){
    case &#39;add&#39;:
      $t=bcadd($m,$n);
      break;
    case &#39;sub&#39;:
      $t=bcsub($m,$n);
      break;
    case &#39;mul&#39;:
      $t=bcmul($m,$n);
      break;
    case &#39;p&#39;:
      if($n!=0){
        $t=bcp($m,$n);
      }else{
        return $errors[0];
      }
      break;
    case &#39;pow&#39;:
      $t=bcpow($m,$n);
      break;
    case &#39;mod&#39;:
      if($n!=0){
        $t=bcmod($m,$n);
      }else{
        return $errors[0];
      }
      break;
    case &#39;sqrt&#39;:
      if($m>=0){
        $t=bcsqrt($m);
      }else{
        return $errors[1];
      }
      break;
  }
  $t=preg_replace("/\..*0+$/",&#39;&#39;,$t);
  return $t;
}
/*用法举例*/
echo calc(&#39;11111111111111111111111111111111110&#39;,&#39;10&#39;,&#39;add&#39;);
?>

Usage:

calc(매개변수 1 매개변수 2, 매개변수 3)

매개변수 3은 연산 방법을 지정합니다: 더하기, 빼기, mul, p로 나누기 , pow의 거듭제곱, 모듈로, sqrt를 사용하여 산술 제곱근을 구합니다.

더하기, 빼기 및 나누기: 매개변수 1 매개변수 더하기/빼기/곱하기/나누기 2
Power: 매개변수 1의 매개변수 2의 거듭제곱입니다.
모듈: The 매개변수 1을 매개변수 2로 나누어 얻은 나머지.
산술제곱근: 매개변수 1의 산술제곱근을 구합니다. 매개변수 2는 효과가 없지만 생략할 수 없습니다.

관련 권장:

php 자세한 소개 연산자 및 표현식_php 예제

php 기본 함수

PHP 6: PHP 기본 데이터 유형

위 내용은 과학 표기법으로 숫자가 표시되는 것을 방지하기 위해 매우 긴 숫자 연산을 사용하는 PHP의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.