1

DBslayer http://code.nytimes.com/projects/dbslayerを使用してクエリを実行すると、浮動小数点の結果が合計 6 桁に切り捨てられます (必要に応じて小数点と負符号も追加されます)。

{ ... "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 最終変更 Rev: 65 最終変更日: 2008-03-28 22:52:46 +0000 (Fri, 28 Mar 2008)

4

1 に答える 1

1

私は最終的にこの問題を解決しました。

DBSlayer が printf の %g を使用して double をフォーマットする場所がいくつかあります。これにより、有効数字が 6 桁しか得られません。

これらの出現箇所をすべて %.15g に置き換えて再コンパイルすると、問題が解決しました。

于 2010-06-09T12:59:21.327 に答える