5

294867828828426241PHPの数値から 1 を引く必要があります。しかし、私がするとき

$a = 294867828828426241 - 1;

浮動小数点数を受け取ります2.94867828828E+17。によって解決されるnumber_format()と、元の番号が得られます。

どうすれば正しい値を取得できますか?

これは、さまざまな数値で機能できる必要があります。

4

1 に答える 1

7

BCMath拡張機能がある場合は、これを使用できます。

$a = bcsub('294867828828426241', '1');

echo $a; // 294867828828426240

ただし、私の 64 ビット サーバーでテストすると、コードは正しく動作するはずです。よくわかりませんが、精度ディレクティブを増やすと違いが生じるかどうかを確認できますphp.ini。私は14に設定しています。

于 2013-01-28T22:57:52.373 に答える