2015-09-08 72 views
-2

我有一個程序設置,它使用C#將一個double值讀入到字節數組中。 的值設置爲1.0,但該字節數組結果我得到的是例如63和128字節數組在C中加倍#

Byte[] array; // gets result 
     //result I get... 
    the 0th value - 63 
    the 1st value - 128 

如何將這些值回雙(1.0)?

+1

如何將double轉換爲字節數組?你的代碼在哪裏? – Eser

+0

[2個字節有點短。](https://msdn.microsoft.com/en-us/library/eahchzkf.aspx?f=255&MSPPError=-2147217396) – theB

+1

我不知道是誰標記了你或者爲什麼。但你的問題是一個公平的問題。謝爾蓋朱可夫給了你正確的答案:[BitConverter.ToDouble()](https://msdn.microsoft.com/en-us/library/system.bitconverter.todouble%28v=vs.110%29.aspx?f = 255&MSPPError = -2147217396)。注:確保您正確生成陣列,例如與[BitConverter.GetBytes()](https://msdn.microsoft.com/en-us/library/a5be4sc9%28v=vs.110%29.aspx)。你的數組肯定應該有兩個以上的字節。 – paulsm4

回答

3
BitConverter.ToDouble(array, 0); 

P.S.它會工作,如果你使用類似的東西

BitConverter.GetBytes(1.0) 

包裝雙數組。我無法理解第0個值和第1個值是什麼意思?如果你的字節數組只包含兩個字節 - 它不是兩倍。

+0

我得到1.62 E-319作爲轉換後的值。 – Jarvis

+0

然後在你的字節數組中存儲的值不是double。陣列的大小是多少? –

+0

謝謝。它工作 – Jarvis