ページ 11

String型で書かれた16進をSingle(Double)形小数に変換するには?

Posted: 2008年5月04日(日) 05:09
by む~
 む~と申します。
String を Single(Double) に変換する簡単な方法ありませんか?
浮動小数点数の構造の理解なくして変換が出来ないとなると大変で・・・

入力例 "A5D2A43E"
結果:0.32191959 ←これあってるのか(^^;
(数値は適当に多少誤差があっても確認できる程度で)

Posted: 2008年5月04日(日) 13:04
by konisi
まずA$に格納された文字のエンディアンを変更して、
4バイトなのでSingle型に詰め込みました。

コード: 全て選択

#console
Dim A$ As String,s As Single
A$="A5D2A43E"
A$=Mid$(A$,7,2)+Mid$(A$,5,2)+Mid$(A$,3,2)+Mid$(A$,1,2)
SetDWord(VarPtr(s),Val("&H"+A$))
Print s
Sleep(-1)

Posted: 2008年5月04日(日) 23:11
by む~
 早い返答ありがとうございます。
こんな簡単に出来るとは・・・

勉強になりました。