이 기사에서는 주로 PHP가 고정밀 계산 기능을 처리하는 방법을 공유합니다. 주로 두 가지 그래프 작성 방법을 공유합니다.
방법 1:
PHP는 임의의 정밀도 수학적 계산을 위한 이진 계산기(이진 계산기)를 제공합니다. 이 계산기는 문자열 형식으로 설명된 모든 크기와 정밀도의 숫자를 지원합니다.
bcadd — 더하기
bccomp — 비교
bcp — 위상 나누기
bcmod — 나머지 찾기
bcmul — 곱하기
bcpow — 거듭제곱
bcpowmod — 먼저 거듭제곱한 다음 나머지 구하기
bcscale — 모든 함수에 대한 소수점 이하 자릿수 설정
bcsqrt — 제곱근 찾기
bcsub — 빼기
방법 2:
최근 쇼핑몰에서 WeChat을 통해 결제한 주문의 가격이 1페니 미만인 경우가 많았습니다. 조사 결과 이는 PHP 부동 소수점 연산의 정확성 때문이었습니다.
PHP 부동 소수점 연산의 정확성 때문이었습니다. Niao 형제의 Bolg가 자세한 설명을 했습니다. http://www.laruence.com/2013/03/26/2884.html,
십진수를 이진수로 표현하는 경우 0.58은 이진수에 대해 무한히 긴 값입니다.
0.58의 이진수 표현은 기본적으로(52비트)입니다. 0010100011110101110000101000111101011100001010001111
0.57의 이진 표현은 기본적으로 00100011110101110000101000111101011100001010 00111입니다. 101
부동소수점 숫자로 변환(64비트 배정밀도)
0.58 -> 0.57999999999999996
0.57 -> 0.5699999999999995
0.58*100 = 57.9 9999 9999 ( int)(0.58*100) = 57
해결책:
(int)((0.58*1000)/10) = 58
관련 권장 사항:
PHP에서 함수 실행 시간을 계산하는 방법 _PHP 튜토리얼
위 내용은 PHP가 고정밀 계산 기능을 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!