なぜなpostgresql店舗スタマサポートに対するコミットメントのfloat値?

StackOverflow https://stackoverflow.com/questions/1112016

質問

ようにしているPHPの浮動小数点値63.59072952118762入をdouble精度でカラムにpostgres.Postgres店舗としての価値63.59073.なんだろうけど、日本人はなぜなのか?8バイトの必要がなければならないかを指します。また、データタイプの数値は、作品を指定する場合の精度が高い本当に必要になります。

更新: 同じような問題が存在しようとした場合に店63.5907295を提案することのダブル前で得格納されるようリアルに再現。●

更新II(ある):行っ割り当てのdoubleパラメータは以下のようなものです:

$stmt->bindParam(4, $this->latitude);

ものを知らなかったのはPDOデフォルトは、paramタイプを文字列になります。っPDO::INT PARAMが不足しつつ、より良い代替(PARAMダブルませんでしたオプション)、10桁の精度のダブルに格納postgres(一部の進歩は、少なくとも).私は次の数値タイプの作品となっているものとする数字は利用の場合PDOと兼ねることに対して精度の10以上である.

と思うが、どうか分かりませんので、なんでこのような精度が高いと思い、問題自体敬要であることを説明しました。

役に立ちましたか?

解決

  • いかPostgreSQLの保管?
  • いデータを送信しPostgreSQL?
  • からのデータを返す。
  • いう表示です。
  • どのタイプは、列のデータベース?

多いので、多くの場所の間でPHPとPostgreSQLが見える混乱などのデータです。


で説明する必要があり方のデータが挿入されDBMS.をリテラル値は、INSERTステートメントが異なる設定の問題から行きます。また、値のSQL:

INSERT INTO SomeTable(SomeColumn) VALUES(63.xxxxxxxxx);

のデータは切り捨ている問題にPostgreSQL.の場合を結びつける変数は、必ずかPHPのPDO PostgresSQLモジュールの価値はお送りいたしましたdoubleとして、または文字列として、コードに変換です。

りませ類似の問題Perl+DBI+DBD::YourDBMS(DBD::Pgに例)です。

他のヒント

の利用を考える 小数点の数値 タイプが必要な場合はその精度

PostgreSQLを受け入れフロート(1)float(24)として選定のリアルタイプ、float(25)をfloat(53)を選択しダブルの精度。

ほとんどのプラットフォームPG、リアルタイプは少なくとも1E-37 1E+37度の精度で少なくとも6桁桁を表します。をdouble精度タイプは通常の範囲の周辺の1E-307 1E+308度の精度で少なくとも15桁REF)

をしているのでしょうか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top