Doing exact real number arithmetic with PHP

2020-02-10 08:17发布

What is fastest and most easy way of making basic arithmetic operations on strings representing real numbers in PHP? I have a string representing MySQL's DECIMAL value on which I want to operate and return the result to a database after that. I would like to avoid errors introduced by floating-point real number representation.

Is there some standard library like Python's decimal? Are there any FOSS libraries you can recommend?

Regards

2条回答
疯言疯语
2楼-- · 2020-02-10 08:49

You could use the BC math functions:

http://www.php.net/manual/en/ref.bc.php

Or the GMP functions, although they seem to be integer only.

http://www.php.net/manual/en/ref.gmp.php

查看更多
在下西门庆
3楼-- · 2020-02-10 08:49

You can use the bc_math extension, which works exactly how you ask (it's used for arbitrary precision numbers):

$num = '123.456';
$twoNum = bcadd($num, $num);
查看更多
登录 后发表回答