Php/docs/intro.bc

提供:Dev Guides
< Php
移動先:案内検索

任意の精度の演算をサポートするために、PHP は 2147483647 (または 0x7FFFFFFF) までの 任意のサイズおよび精度の小数をサポートする BCMath を提供します。 十分なメモリがあれば、文字列表現もサポートします。

警告 string であることが期待されている float 型の値を BCMath 関数に渡してしまうと、 PHP が float 型の値を string 型に変換するやり方の影響で、 あなたが望む結果にならない可能性があります。 すなわち、 string が、ネイピア数を使った表記 (これは BCMath では未サポートです) である可能性があったり、 小数点の記号がロケール依存(BCMath は常に小数点(.)を期待しています) であったりする場合です。

<?php$num1 = 0; // (string) 0 => '0'$num2 = -0.000005; // (string) -0.000005 => '-5.05E-6'echo bcadd($num1, $num2, 6); // => '0.000000'setlocale(LC_NUMERIC, 'de_DE'); // 小数点がコンマになるロケール$num2 = 1.2; // (string) 1.2 => '1,2'echo bcsub($num1, $num2, 1); // => '0.0'?>