Делать точную арифметику с PHP - PullRequest
5 голосов
/ 21 декабря 2010

Какой самый быстрый и простой способ выполнения базовых арифметических операций над строками, представляющими действительные числа в PHP?У меня есть строка, представляющая значение DECIMAL MySQL, с которым я хочу работать и после этого вернуть результат в базу данных.Я хотел бы избежать ошибок, связанных с представлением вещественных чисел с плавающей точкой.

Существует ли какая-либо стандартная библиотека, например, десятичная в Python?Какие библиотеки FOSS вы можете порекомендовать?

С уважением

Ответы [ 2 ]

5 голосов
/ 21 декабря 2010

Вы можете использовать математические функции BC:

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

Или функции GMP, хотя они кажутся только целочисленными.

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

3 голосов
/ 21 декабря 2010

Вы можете использовать расширение bc_math, которое работает именно так, как вы спрашиваете (оно используется для чисел произвольной точности):

$num = '123.456';
$twoNum = bcadd($num, $num);
...