1

私はこのような状況にあります。SQL 2005 データベースの varbinary フィールドに実数が格納されています。SQL 2005 では varbinary を real に変換できないため、vb.net で変換しようとしています。

そのフィールドは、DataTable に byte() 配列として格納されます。

次に、その byte() を double または decimal 変数に読み込みたいと思います。しかし、私はそれを行う方法についての手がかりがあまりありません...

4

3 に答える 3

2

それは実際にそれがどのように保存されるかに依存しますが、BitConverter.ToDoubleはあなたの友達かもしれません。これは、IEE754形式であることを前提としています。そもそもどこからデータを入手していますか?

于 2008-10-23T20:03:51.790 に答える
1

VB.net はよくわかりませんが、.NET ライブラリは知っています。

byte[] を MemoryStream でラップし、それを BinaryReader でラップします。次に BinaryReader.ReadDouble() メソッドを使用します。MSDN ページについては、こちらこちらを参照してください。

これに応じて編集

次のようなコードを探しています。

'declare a test array
Dim testArray As Byte() = {0, 0, 0, 0}
'wrap it into a memory stream
Dim memStream As MemoryStream = new MemoryStream(testArray)
'wrap the stream in a binary reader
Dim bReader As BinaryReader = new BinaryReader(memStream)
'read a 32bit integer from the stream using the reader
Dim count As Integer = bReader.ReadInt32()
于 2008-10-23T20:09:49.703 に答える