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

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
む~

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

#1 投稿記事 by む~ »

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

入力例 "A5D2A43E"
結果:0.32191959 ←これあってるのか(^^;
(数値は適当に多少誤差があっても確認できる程度で)
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#2 投稿記事 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)
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
む~

#3 投稿記事 by む~ »

 早い返答ありがとうございます。
こんな簡単に出来るとは・・・

勉強になりました。
返信する