> 백엔드 개발 > PHP 튜토리얼 > PHP_php 스킬에서 두 개의 float(부동 소수점 숫자)의 비교 예 분석

PHP_php 스킬에서 두 개의 float(부동 소수점 숫자)의 비교 예 분석

WBOY
풀어 주다: 2016-05-16 20:07:22
원래의
1107명이 탐색했습니다.

이 기사의 예에서는 PHP의 두 가지 부동 소수점 비교 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.

최근 계약 관리 시스템을 개발할 때 두 개의 부동 소수점 숫자를 비교하는 작업이 포함되어 있어 매우 우울했습니다.
예전에는 “부동소수점 수를 비교할 때 등호를 사용하지 말라”는 “진실”을 어디서 들은 것인지 모르고 매일 사용했는데 문제가 없는 것 같았습니다. 그런데 이번에 드디어 문제가 생겼습니다.

<&#63;php
$sum = "12300.00";
$a  = "10000.30";
$b  = "2000.30";
$c  =  "299.40";
$sum = (float) $sum;
$s = (float) ($a+$b+$c);
var_dump($sum, $s);
var_dump($sum==$s);

로그인 후 복사

결과는 다음과 같습니다.

플로트(12300)
플로트(12300)
부울(거짓)

나중에 PHP에서 두 부동 소수점 숫자의 크기를 비교하려면 bccomp(매개변수 1, 매개변수 2, 소수 자릿수)를 사용하여 비교할 수 있다는 것을 알게 되었습니다.

<&#63;php
$sum = "12300.00";
$a  = "10000.30";
$b  = "2000.30";
$c  =  "299.40";
$sum = (float) $sum;
$s = (float) ($a+$b+$c);
var_dump($sum, $s);
var_dump(bccomp($sum,$s,2));

로그인 후 복사

결과:

플로트(12300)
플로트(12300)
int(0) // 0은 두 개의 부동 소수점 값이 동일함을 의미합니다.

bccomp 함수의 구체적인 사용법은 PHP 매뉴얼을 참고하세요.

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿