bccomp

(PHP 4, PHP 5, PHP 7, PHP 8)

bccompİki keyfi duyarlıklı sayıyı karşılaştırır

Açıklama

bccomp(string $sayı1, string $sayı2, ?int $basamak = null): int

sayı1 ile sayı2karşılaştırılır ve sonuç tamsayı olarak döndürülür.

Bağımsız Değişkenler

sayı1

Dizge olarak sol terim.

sayı2

Dizge olarak sağ terim.

basamak
Bu bağımsız değişken, sonuçtaki ondalık iminden sonraki basamak sayısını ayarlamak için kullanılır. Değeri null ise, bcscale() ile atanan öntanımlı basamak sayısı veya son çare olarak bcmath.scale INI yönergesinin değeri kullanılır.

Dönen Değerler

Eğer iki terim eşitse 0 döndürür, sayı1 sayı2'den büyükse 1, değilse -1 döndürür.

Hatalar/İstisnalar

Bu işlev aşağıdaki durumlarda ValueError istisnası oluşturur:

  • sayı1 veya sayı2 iyi biçimlenmiş BCMath sayısal dizgesi değilse.
  • basamak geçerli aralığın dışındaysa.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 basamak artık null olabiliyor.

Örnekler

Örnek 1 bccomp() örneği

<?php

echo bccomp('1', '2') . "\n"; // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1

?>

Ayrıca Bakınız

add a note

User Contributed Notes 4 notes

up
25
Robert Lozyniak
15 years ago
Beware that negative zero does not compare equal to positive zero.
up
15
aaugrin at gmail dot com
7 years ago
BEWARE! left and right operand is string!! so number in E-notation like 9.012E-6 need to be converted with sprintf('%F') to string
up
0
mm at mobelt dot com
3 months ago
If you want to compare 2 decimals for equality, bccomp does not works as expected:

bccomp("1.000000000000000","0.999999999999999",2)

returns 1

Instead, use

bcsub("1.000000000000000","0.999999999999999",2) == 0
up
-3
m dot kaczanowski at alianet dot pl
16 years ago
Improvement of functions bcmax() and bcmin() originaly written by frank at booksku dot com

<?php

function bcmax() {
$args = func_get_args();
if (
count($args)==0) return false;
$max = $args[0];
foreach(
$args as $value) {
if (
bccomp($value, $max)==1) {
$max = $value;
}
}
return
$max;
}

function
bcmin() {
$args = func_get_args();
if (
count($args)==0) return false;
$min = $args[0];
foreach(
$args as $value) {
if (
bccomp($min, $value)==1) {
$min = $value;
}
}
return
$min;
}
?>
To Top