現在SQLITEを使って小数の演算などをしています。
その中でROUND関数を使って四捨五入しているのですが、結果が予期せぬものになるケースがあります。
round(2.124,2) ⇒ 2.12 OK round(2.125,2) ⇒ 2.12 NG (2.13が期待値) round(2.126,2) ⇒ 2.13 OK
一方で正しく四捨五入されるパターンもあります。
round(8.454, 2) ⇒ 8.45 OK round(8.455, 2) ⇒ 8.46 OK round(8.456, 2) ⇒ 8.46 OK
これは何故発生するのでしょうか?
そしてround(2.125,2) ⇒ 2.13 とするための回避策はあるのでしょうか?
※SQLITEのSQL文での回避策を探しております。
最終桁が「5」で四捨五入として正しいものと正しくないものの例をもう少し大量に挙げてもらえますでしょうか。
回答3件
あなたの回答
tips
プレビュー