変数定義時の有効桁数

genで変数を定義すると、有効桁数が7桁くらいになっているみたいです。何が問題かというと、イベント日をたとえば”19940501"といった風に8桁の数字としてlocal変数に覚えさせ、異なるシートに貼り付けたときに、"19940500"と、誤差が発生してしまうケースが存在します。演算速度を上げるための誤差であれば、ある程度許容されるべきかとは思いますが、日付に関しては、誤差が発生してはいけないので、変数の精度を上げなければなりません。一般的にはformatコマンドかと思われますが、一番高い精度(あと一番メモリを必要とする)recast コマンドでdouble型を指定しました。これのおかげでファイルサイズが1割アップしましたが。。
double型は、1セルに8 byteと、long型(4 byte)と比べて、メモリを多く消費するという問題点があります。ご使用の際は、お使いのPCとご相談の上でご利用ください*1

  • 変数の定義について(2010/9/7追記)
set type double

とすると、全ての変数をdouble型にする事ができるみたいです。I先輩、情報感謝!

  • 上述の方法について(2013/11/29追記)

回りくどいことから,私は,現在この方法を用いて分析を行っていません。内容に関しては保証しかねますのでご了承下さい。

*1:compressコマンドで容量を圧縮する事ができますが、これでまた誤差を許容する大きさにされたらたまらんということで、今回は使っていません。