Проблема с усечением значений с плавающей точкой в ​​DBSlayer - PullRequest
1 голос
/ 09 июня 2010

Когда я запускаю запрос через DBslayer http://code.nytimes.com/projects/dbslayer, результаты с плавающей запятой усекаются до шести цифр (плюс десятичная точка и отрицательный знак при необходимости).

{... "lat": 52.2228, "lng": - 2.19906, ...}

Когда я выполняю тот же запрос в MySQL, результаты ожидаются.

|52.22280884 |-2.19906425 |

Во-первых, правильно ли я идентифицирую DBSlayer как причину этого эффекта?(Или используемую библиотеку JSON и т. Д.)

Во-вторых, настраивается ли эта точность с плавающей запятой в DBSlayer?

Спасибо,

Крис.

PS Ubuntu 9.10, x86_64

Путь:.URL: http://dbslayer.googlecode.com/svn/trunk Корень репозитория: http://dbslayer.googlecode.com/svn UUID репозитория: 5df2be84-4748-0410-afd4-f777a056bd0c Редакция: 65 Тип узла: каталог Расписание: обычный Последнее изменение Автор: dgottfrid Последнее изменение Ред .: 65 ПоследнееДата изменения: 2008-03-28 22:52:46 +0000 (пт, 28 марта 2008)

1 Ответ

1 голос
/ 09 июня 2010

Я в конце концов решил эту проблему.

Есть несколько мест, где DBSlayer использует printf% g для форматирования двойников.Это дает только 6 значащих цифр.

Замена всех этих случаев на% .15g и перекомпиляция позволили решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...