Как округлить число до значащих цифр?
Не совсем понимаю почему, но в базе хранятся числа (тип double)
И PHP (MySQL?) извлекает некоторые (не все) не корректно
Например есть число в базе - 69.6
Оно извлекается как 69.59999999999999
Или же число 8.3
Извлекается как 8.30000000001
Откуда берутся эти незначащие цифры?
Это в PHP какая то настройка или MySQL ?
Как можно привести числа в нормальный вид?
Если так все было бы просто. Есть и числа 0.000000589 например. В том то и дело. Нужны значащие цифры. Да и не понятно откуда этот мусор вообще берётся, если в базе видно оригинальное число
Цифры берутся из-за особенности MySQL в типах REAL и тд. Почитайте про типы данных в БД, там описывается именно ваш случай, откуда берется 0.000000001
А в отрицательных числах 2 будет как -1,99999999999
Вам вообще для ваших задач нужно использовать тип DECIMAL
Такой тип данных используется в банках, и бухгалтерии, где важны точности, плюс заранее можно указать количество разрядов, которые вы будете испоьзовать
Для правильного вопроса надо знать половину ответа
В общем случае - менять тип данных на DECIMAL.
В частных, например с валютами, переходить к целым числам, то есть вместо рублей считать в копейках или долях копеек.