Вам следует перейти на float
, чтобы не потерять точность в вычислениях, и использовать number_format
вывод для отображения ...
Примечания:
Это действительно зависит от ваших потребностей и от того, как вы хотите, чтобы ваш вывод обрабатывался, если вы хотите просто вырезать мантиссу после второго числа или выполнить какое-то округление.
При использовании BC Math со шкалой 2, например, 2.10/1.10
производит 1.90
при использовании
number_format(2.10/1.10, 2)
приведет к 1.91
(округляя результаты, как SELECT CAST(2.10/1.10 as DECIMAL(10,2))
)
Обновление: .
Как указано в комментариях, могут быть случаи, когда вы потеряете точность вычислений.
Вероятно, будет лучше выполнять вычисления произвольной точности в самом MySQL, так что вы можете быть уверены, что ничего не потеряно во время математических операций.