スプレッドシートファイルから読み取り関数は正しい数値を返しません



使用ソフトウェア: LabVIEW Development Systems>>Professional Development System
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabVIEW Development Systems>>Full Development System, LabVIEW Development Systems>>Base Package

問題: 一つ一つの数値が17桁のテキストベーススプレッドシートファイルがあります。「スプレッドシートファイルから読み取り」関数よりこのファイルを読み取るとき、下位の桁が正しく読まれていません。

解決策: スプレッドシートファイルから読み取り(Read From Spreadsheet File.vi)関数では32bit単精度浮動小数点数(SGL)で返しているため、7桁目までしか正しい数値を返しません。通常はSGLの精度内に使用されることが多いので、メモリ利用を節約するためにデフォルトではこのような設定になっています。

7桁より大きいな桁数を持つ数値を読み取る場合は以下のようにスプレッドシートファイルから読み取りを編集します。
  1. スプレッドシートファイルから読み取りをダブルクリックして開きます。
  2. ブロックダイアグラムを開きます。
  3. "all rows" 、"first row" 、 "type(empty)"それぞれのアイコン上を右クリックし、「表記法」をDBLに変更します。
  4. スプレッドシートファイルから読み取り(Read From Spreadsheet File.vi)を別名、Read From Spreadsheet File(DBL).viなどで保存します。
上記の編集より31桁までの精度で数値を返します。

スプレッドシートファイルに書き込み(Write To Spreadsheet File.vi)の場合はステップ3.で、"1D data"と "2D data" の「表記法」をDBLに変更します。


関連リンク:
KB 1RBDAG5P: Precision Errors Writing and Reading with Write to Spreadsheet File and Read from Spreadsheet File.vi
KB 34MDHKFQ: How Can I Display Spreadsheet Data with a Table Control in LabVIEW?

添付:





報告日時: 11/13/2001
最終更新日: 02/08/2006
ドキュメントID: 2FC9DK2L