
No.1ベストアンサー
- 回答日時:
環境が不明ですが、.NETである場合は自力で計算するよりもBitConverterでSingle型をバイト配列化してしまうのがよいかと。
.NET(VB,C#)の単精度浮動小数点数はIEEE754だったと思うので・・・。
Imports System.Runtime.InteropServices
Imports System.IO
Class Sample
Public Shared Function SingleToHex(ByVal Value As Single) As String
Dim bytValue As Byte() = BitConverter.GetBytes(Value)
Dim strHex As String = ""
' リトルエンディアンならバイト配列を逆転させる
If BitConverter.IsLittleEndian Then Array.Reverse(bytValue)
' バイト配列を文字列化
For Each b As Byte In bytValue : strHex += b.ToString("X2") : Next
Return strHex
End Function
End Class
呼び出し例と出力結果です。
Console.WriteLine(Sample.SingleToHex(100.0F)) ' 42C80000
Console.WriteLine(Sample.SingleToHex(0.5F)) ' 3F000000
VB6.0やVBAにはBitConverterがないので、WinAPIのCopyMemoryで変数をバイト配列化することができます。こちらのコードは割愛。必要なら補足出してください。
この回答へのお礼
お礼日時:2009/11/12 10:35
ちょっとした処理にはExcelが楽でしたので、Excel_VBAでプログラムしていました、変換はできましたが(あまり美しくないので・・・)
こちらに投稿しました
上記を参考に.NETに変更します
*VBAでもチェックしようと思います
どうもスッキリしなかったのですが、これで楽になりました
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数名の間接指定
-
COLUMN(1:1)の意味を教え...
-
basp21のアップロード
-
in_addrからchar型の文字列の変換
-
VB.NET 2つの配列を連動して並...
-
フォームを開くときに、コンボ...
-
VBAでダブルコーテーション入り...
-
VB6.0-整数と余りを求める
-
Variant型で宣言してるのにEmpt...
-
3bitアップダウンカウンタ(Up/...
-
テキストボックスの値を変数に...
-
変数にオフセットが付いている...
-
フリーランタイマーの時間差分...
-
Nullってどういう意味ですか?
-
[VBS]変数を定数に変換する方法...
-
VBA コンボボックスの値をスピ...
-
Accessコンボボックスにレコー...
-
Excel-vba 文字列と変数を...
-
デジタルカレンダーでTo Do 事...
-
エラーの意味は? Lvalue req...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
COLUMN(1:1)の意味を教え...
-
excelの、ある数式内の{}の意...
-
VBAのWorksheetFunctionの引数...
-
vbsでテキストファイル内の文字...
-
配列の値を置換するにはどうす...
-
数値を浮動小数点32bitHEXコー...
-
○桁にある数値を取得する VB.N...
-
エクセル、この関数の意味は?
-
エクセルへのデータの貼付時に...
-
【エクセル】 関数による電子...
-
RichTextBoxの改行を認知してく...
-
VB6で配列を文字列に変換する方...
-
複数ディレクトリの監視(VB.NET...
-
in_addrからchar型の文字列の変換
-
配列の座標指定について。
-
MATLABで配列をファイルへ書き...
-
VB 配列の内容をファイルに書...
-
VBSで特定の文字列が含まれる場...
-
C#の問題です。 文字列型の配列...
-
copyRecordsetの数値16桁以上に...
おすすめ情報