[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Число полученное из БД
stump
Почему число в БД равное 2.56 после получение его запросом и обработки функцией fetch и передачи в скрипт php равно 2.5600003674?

_____________
Трус не играет в хокей
T1grOK
Это особенность обработки и хранения чисел с плавающей точкой. Вычислительные системы могут только с приблизительной точностью отобразить подобные числа.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
stump
Меня удивило такое поведение. Не думал что надо будет округлять до количества знаков.

_____________
Трус не играет в хокей
sergeiss
Цитата (stump @ 29.01.2015 - 21:22)
Не думал что надо будет округлять до количества знаков.

В Мускуле есть другие типы данных, не только float. Они позволяют хранить числа с заданной точностью.
Приведенная мной цитата говорит о том, что тебе надо сменить float на что-то другое. А на что именно - читай доки.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
stump
Цитата (sergeiss @ 29.01.2015 - 22:32)
читай доки.

Так и надо делать rolleyes.gif . Сходил почитал доки и узнал что надо к флоат добавить в скобках количество разрядов ( float(2) ) и все проблемы проходят.

Можно также использовать DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] где атрибут M указывает количество выводимых пользователю знаков, а атрибут D - количество разрядов.

В своем примере я использовал float(2) что позволило мне убрать костыль из вьюхи где было округление до второго знака.

_____________
Трус не играет в хокей
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.