ホームページ > バックエンド開発 > PHPチュートリアル > PHP高精度数学関数ライブラリ関数概要

PHP高精度数学関数ライブラリ関数概要

伊谢尔伦
リリース: 2023-03-07 19:42:02
オリジナル
3261 人が閲覧しました

php 言語は、文字列形式で記述された任意のサイズと精度の数値をサポートする、任意精度の数学計算用のバイナリ計算機 (Binary Calculator) を提供します。

phpでは、BC高精度関数ライブラリという高精度関数ライブラリが提供されています。 これには、加算、比較、除算、減算、剰余、乗算、n 乗、デフォルトの小数点数の設定、二乗などの計算が含まれます。これらの関数は、お金が絡む計算をする場合に便利です。

これらの高精度関数の概要は次のとおりです:

1. bcadd 2 つの高精度数値を加算します

構文形式は次のとおりです:

string bcadd ( string left_operand, string right_operand [, int scale] )
ログイン後にコピー

戻り値: String

関数の種類: 数学的演算

内容の説明: この関数は 2 つの高精度数値を加算し、2 つの文字列を渡し、結果を文字列として返します。 scale は、戻り値の小数点以下の桁数を表すオプションのオプションです。

以下はそれを示すコード例です:

<?php
    $a = 1.0321456;  
    $b = 0.0123456;  
    $c = bcadd($a, $b, 2);  
    //var_dump($c);  
?>
ログイン後にコピー

2. bccomp 2つの高精度数値を比較します

構文形式は次のとおりです:

int bccomp ( string left_operand, string right_operand [, int scale] )
ログイン後にコピー

戻り値: 整数

関数の種類: 数学的演算

内容説明: この関数は 2 つの数値を高精度で比較します。 2 つの文字列を入力すると、左の数値文字列 (左のオペランド) が右の数値文字列より大きい場合は 0 が返され、左の数値文字列が右の数値文字列より小さい場合は +1 が返されます。右のものは -1 を返します。 scale は、戻り値の小数点以下の桁数を示すオプションのオプションです。簡単に言うと、 $left=$right は 0 を返し、 $left<$right は -1 を返し、 $left>$right は 1 を返します。

サンプルコードは次のとおりです:

<?php
    $first = &#39;2.2&#39;;
    $second = &#39;13.00&#39;;
    $third = &#39;10.80&#39;;
    $sub = $second - $third;
    echo &#39;$first,$sub两个数相比较:<br/>&#39;;
    echo bccomp($first,$sub,2); echo &#39;<br/>&#39;;
    echo &#39;$first,$second两个数相比较:<br/>&#39;;
    echo bccomp($first,$second,2); echo &#39;<br/>&#39;;
    echo &#39;$second,$third两个数相比较:<br/>&#39;;
    echo bccomp($second,$third,2); echo &#39;<br/>&#39;;
?>
ログイン後にコピー

3. bcsub 2つの高精度数値を減算します

構文形式は次のとおりです:

string bcsub ( string left_operand, string right_operand [, int scale] )
ログイン後にコピー

戻り値: String

関数の種類: 数学的演算

説明: この関数は 2 つの高精度数値を減算し、2 つの文字列を渡し、左 (左オペランド) の値から右 (右オペランド) の値を減算します。 scale は、戻り値の小数点以下の桁数を表すオプションのオプションです。

サンプルコードは次のとおりです:

<?php
    $a = 1.0321456;  
    $b = 3.0123456;  
    $c = bcsub($a, $b, 2);  
    var_dump($c);  
?>
ログイン後にコピー

4. bcmul 2つの高精度数値の乗算

構文形式は次のとおりです:

string bcmul ( string left_operand, string right_operand [, int scale] )
ログイン後にコピー

戻り値: String

関数の種類: 数学的演算

内容の説明: この関数は 2 つの高精度数値を乗算し、2 つの文字列を渡し、左側の数値文字列 (左オペランド) と右の数値文字列 (右オペランド) を乗算します。結果も文字列として返されます。 scale は、戻り値の小数点以下の桁数を表すオプションのオプションです。デフォルトの小数点以下の桁数は 0 です。

コード例は次のとおりです:

<?php
    $a = 3.1415926;  
    $b = 2.4569874566;  
    $c = bcmul($a, $b, 6);  
    //var_dump($c); 
?>
ログイン後にコピー

5. bcdiv 2つの高精度数値を除算します

構文形式は次のとおりです:

string bcdiv ( string left_operand, string right_operand [, int scale] )
ログイン後にコピー

戻り値: String

関数の種類: 数学的演算

内容の説明: この関数は 2 つの高精度数値を除算し、2 つの文字列を渡し、左側の数値文字列 (左オペランド) を右の数値文字列 (右オペランド) で除算します。結果も文字列として返されます。 scale は、戻り値の小数点以下の桁数を表すオプションのオプションです。デフォルトの小数点以下の桁数は 0 です。

コード例は次のとおりです:

<?php
  $a = 6;  
 $b = 5;  
 $c = bcdiv($a, $b, 3);  
 //var_dump($c); 
?>
ログイン後にコピー

6. bcmod 高精度数値の剰余/剰余を取得します

構文形式は次のとおりです:

string bcmod ( string left_operand, string modulus )
ログイン後にコピー

戻り値: String

関数の種類: 数学演算

内容の説明: 左オペランドを法で割った余りの文字列を取得します。

コード例は次のとおりです:

<?php
    $a = 6;  
    $b = 4;  
    $c = bcmod($a, $b);    
    //var_dump($c);  
?>
ログイン後にコピー

7. bcpow 高精度デジタル電力値を検索します

構文形式は次のとおりです:

string bcpow ( string x, string y [, int scale] )
ログイン後にコピー

戻り値: String

関数の種類: 数学的演算

内容の説明: この関数は、高精度の数値 x の y 乗を求めます。結果も文字列として返されます。 scale は、戻り値の小数点以下の桁数を表すオプションのオプションです。デフォルトの小数点以下の桁数は 0 です。

コード例は次のとおりです:

<?php
    $a = 3.1415926;  
    $b = 2;  
    $c = bcpow($a, $b, 3);  
    //var_dump($c);  
?>
ログイン後にコピー

8.bcsqrt 高精度数値の平方根を求めます

構文形式は次のとおりです:

string bcsqrt ( string operand [, int scale] )
ログイン後にコピー

戻り値: String

関数の種類: 数学的演算

内容説明 : この関数は数値の平方根を高精度で求めます。 scale は、戻り値の小数点以下の桁数を表すオプションのオプションです。デフォルトの小数点以下の桁数は 0 です。

コード例は次のとおりです:

<?php
    $b = bcsqrt($a, 6);  
    //var_dump($b); 
?>
ログイン後にコピー

9. bcscale 構成プログラム内のすべての BC 関数ライブラリの小数点以下のデフォルトの桁数

構文形式は次のとおりです:

 bool bcscale ( int scale )
ログイン後にコピー

戻り値: boolean

関数の種類: 数学的演算

内容说明: 配置所有返回值的小数点后所需的位数。之后程序若无特别指定,则依此配置的小数点位数。

其实例代码如下所示:

<?php
    bcscale(3);
    echo bcdiv(&#39;105&#39;, &#39;6.55957&#39;); // 16.007
?>
ログイン後にコピー

【相关教程推荐】

1. 《php.cn独孤九贱(4)-php视频教程

2.  php实战视频教程

3.  php编程从入门到精通全套教程

以上がPHP高精度数学関数ライブラリ関数概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート