NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

「16進数文字列を数値に変換」関数を使い、16進表示文字列を 64ビット整数に変換したい。

Labview2013 初心者です。

 

「16進数文字列を数値に変換」関数を使い、16進表示文字列を 64ビット整数に変換したいのですが、

思ったとおりに動きません。

 

文字列を16進数で入力し、整数に変換しようとしています。

 

(A)16進表示にすると、入力が制限され、使い勝手がよくなります。

      しかし、これを「16進数文字列を数値に変換」関数で整数に変換すると、

     入力文字列にかかわらず0に変換されます。

 

          添付ファイル 一番上の枠内

 

(B)文字列制御器を標準表示にすると、整数に変換できます。

      しかし、文字列制御器が標準表示であると、0~9、A~F以外の文字も入力でき使い勝手が悪い。

           添付ファイル 二番目の枠内

 

(C)過去のフォーラムより、型変換関数を使っても、整数に変換できます。

http://forums.ni.com/t5/LabVIEW/Hex-to-numeric-value-does-not-workl/m-p/450053/highlight/true#M21880...  

      しかし、右端に"0000"が挿入され、これも勝手が悪い。

           添付ファイル 三番目の枠内

 

 

 

そこで質問です。

1)「16進数文字列を数値に変換」関数の使い方が間違っていますか?

2)他に良い方法はありませんか?

 

是非、教えていただきたく。

可能であればサンプルを添付いただけると助かります。

 

よろしくお願いいたします。

 

 

0 件の賞賛
メッセージ1/3
5,848件の閲覧回数

こんにちは。

 

掲題の関数について人様に説明できるほど理解はしていないのですが、

他の人のVIを見ながら作ってみたので、参考にして下さい。

0 件の賞賛
メッセージ2/3
5,841件の閲覧回数

添付いただいたviで、望んだとおりの動作をしました。

 

「文字列」は、

標準表示ではそのまま数値に変換できる。

16進表示では、一旦バイト配列にしてから、標準表示文字列に変換、その後数値に変換。

という手順ですね。

 

16進数文字を数値に変換」関数は、標準表示文字列を数値に変換するものである、と理解しました。

 

ありがとうございました。 

 

0 件の賞賛
メッセージ3/3
5,700件の閲覧回数