LoginSignup
5
0

More than 5 years have passed since last update.

PHP: PHP_INT_MAXを超える数値をstringにしたとき指数表記にさせない方法

Last updated at Posted at 2018-11-15

PHPの整数最大値は、定数PHP_INT_MAXで参照することができ、64ビット環境で9223372036854775807である。

これに1を足した数値は9223372036854775808になるのだが、PHP_INT_MAX + 1をstring型に型変換すると指数表記の'9.2233720368548E+18'になる。

assert(strval(PHP_INT_MAX + 1) === '9.2233720368548E+18');

数値としては指数表記で間違いはないが、string型で'9223372036854775808'のように指数表記でない形式が欲しい場合はどうしたらいいのだろうか?

その場合は、bcadd関数で計算すると良い。

assert(bcadd(PHP_INT_MAX, '1') === '9223372036854775808');
5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0