@IdFox

Как округлить число до значащих цифр?

Как округлить число до значащих цифр?
Не совсем понимаю почему, но в базе хранятся числа (тип double)
И PHP (MySQL?) извлекает некоторые (не все) не корректно
Например есть число в базе - 69.6
Оно извлекается как 69.59999999999999
Или же число 8.3
Извлекается как 8.30000000001
Откуда берутся эти незначащие цифры?
Это в PHP какая то настройка или MySQL ?
Как можно привести числа в нормальный вид?
  • Вопрос задан
  • 191 просмотр
Решения вопроса 1
Sanovskiy
@Sanovskiy
Веб-разработчик с 2005 года
Проблемы со сравнением чисел с плавающей точкой

SQL
SELECT ROUND(8.30000000001,2);
-- 8.30


PHP
$a = round(8.30000000001,2);
// 8.30
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В общем случае - менять тип данных на DECIMAL.
В частных, например с валютами, переходить к целым числам, то есть вместо рублей считать в копейках или долях копеек.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы