bccomp

2 つの任意精度数値を比較する

説明

int bccomp(string $num1, string $num2, intnull $scale = null)

num1num2 を比較し、 比較結果を整数値で返します。

パラメータ

num1

左オペランドを表す文字列。

num2

右オペランドを表す文字列。

scale
結果の小数点以下の桁数を指定します。null の場合は、 bcscale 関数でグローバルに 設定した桁数をデフォルトとして使用します。 それも設定されていない場合は bcmath.scale INI ディレクティブの値を使用します。

戻り値

ふたつのオペランドが等しければ 0num1num2 より大きければ戻り値は 1、小さければ -1 を返します。

エラー / 例外

この関数は、以下の場合に ValueError をスローします:

  • num1 もしくは num1 が、BCMath で有効でない数値形式の文字列である場合
  • scale が範囲外の値である場合

変更履歴

バージョン 説明
8.0.0 scale は、nullable になりました。

例1 bccomp の例

<?php

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

?>

参考

  • BcMath\Number::compare