top of page
  • beginners53

Accessあるある

昔からよく言われているのですが、項目や変数のタイプを倍精度浮動小数点にすると、勝手に誤差が生じるという現象が起こります。

例えば、下の図のように「9.7」と入力したのに「9.69」になってしまうとか・・・。

酷いものでは「普通に整数で”2”って入れたのに”1.9999・・・”ってなってる!!」って事も・・・しかも画面表示を整数にしていると少数以下が四捨五入されて表示されるので計算結果を見るまで気づかないとか(ーー;;

これって、Accessに限らず、Visual Basicなどの言語を使っても発生しているのでたぶん、Microsoftが作成するOS上で動作するアプリケーション全般に発生するバグなんだと思いますが、一向に修正される気配がない。

これを回避するためには、変数や項目のタイプを数値型ではなく通貨型に設定するしかないようです。

ただ困ったことに、通貨型では小数点以下の桁数は4桁までという制限があるのでより精度の高い計算結果を求めたい算術計算や技術計算などには使えないという面はあります。

この場合は、倍精度浮動小数点を使用するしかないのですが、誤差があっては使い物にならない・・・堂々巡りになってしまいそうです(^^;;


閲覧数:5回0件のコメント

最新記事

すべて表示

仕事柄、Micirosoft365などサブスクリプト契約で利用しているサービスがいくつかあります。 サブスクリプト契約の良い面は、月額または年額で定額を支払う事によって低料金でサービスを安定利用できるという点なのですが、通常の買取と異なりその支払いはサービスを利用している限り継続されるという事がデメリットでもあります。 特に、価格改定などがあってもサービスの利用を中止するというわけにもいかないので

Aceessで作成したアプリケーションを利用しているお客様から「帳票の印字位置が罫線とずれる」という連絡が入ったので、リモートで接続して状況を確認しました。 罫線の間隔は、0.423㎝、で、設定している明細サブレポートの高さも0.423㎝で特に設定上は問題ない。 しかし、少しずつ下へと印字がずれている・・・。 いろいろ調整したのですがなかなかその現象が解消しなかったのですが、とりあえずサブレポート

bottom of page