現在のページ:ホームVIプログラミング研究室>有効数字指定で数値を小数文字列に変換

有効数字指定で数値を小数文字列に変換


数値計算をするとき、コンピュータによる演算を手計算の結果と合わせるには途中の桁落としが必要な場合があります。また表示も有効数字で切りたいことがあるので、浮動小数点数へのフォーマット関数を拡張してみました。

LabVIEW8.0以降の「文字列にフォーマット」関数は速度が上がり、本VIのメリットはなくなりました。「パフォーマンス」のところの形式文字列の書式だけ参考にしてください。


入力

出力

ダイアグラムの解説

  1. 数値を指数文字列に変換します。必ず整数部が1桁の小数+仮数に変換されますので、小数部の精度(小数点以下の桁数)は希望の有効数字-1にすればよいわけです。
  2. 指数文字列を数値に変換して数値出力とします。
  3. 数値を小数文字列に変換します。このときの精度は、仮数部の数値を希望の有効数字-1から引いたものになります。
  4. 数値表示器のフォーマットと精度をプロパティノードと同じ形式で作ります。

パフォーマンス

実は、LabVIEW7.0以降の「文字列にフォーマット」関数は有効数字の指定ができるようになっています。しかし速度を比べると自作の関数のほうが4〜5倍速いことがわかりました。
「文字列にフォーマット」関数が形式文字列を作るためにもう一つFORループに入っているのが気になりますが、それをループ外に出しても速度はあまり変わりません。有効数字の処理自体が遅いようです。


制限または仕様


ダウンロード

sd_formatter.zip(11KB)


現在のページ:ホームVIプログラミング研究室>有効数字指定で数値を小数文字列に変換