我希望能够将多个双打数组保存到文件中。我不想在无法使用的环境中使用二进制序列化器(例如Silverlight / WP7)。我想这就是我想要使用文本格式,这很容易,但我担心当数字四舍五入打印时我会使用准确性。那么是否有一种“正确”的方法将双精度序列化为文本或二进制格式并保持完全准确性?
答案 0 :(得分:2)
BinaryWrite.Write(double)
来编写(然后读取)double。所以你可以循环数组写双打。但正如Jon所说,您也可以使用BitConverter.GetBytes()
并手动编写它。
答案 1 :(得分:1)
好吧,您可以使用“r”(往返)说明符将double转换为字符串,或者您可以使用BitConverter.DoubleToInt64Bits将double
转换为long
(我假设您对准确序列化有信心,然后在另一端BitConverter.Int64BitsToDouble
。
一个问题 - WP7中没有这些方法。他们虽然在桌面版的Silverlight中。
对于Windows Phone 7,您可以使用BitConverter.GetBytes(double)
和BitConverter.ToDouble(byte[], int)
代替。