如何使用二进制编写器写入双精度值?



我有两个应用程序需要快速相互传递值,并且需要保留一些值(当我重新启动计算机时它仍然存在(,所以我需要创建一个文件,现在我知道如何处理int

using (BinaryWriter writer = new BinaryWriter(new FileStream(@"C:TEST", FileMode.Open)))
{
writer.Write(0);  //00 00 00 00
writer.Write(1);  //01 00 00 00
writer.Write(2);  //02 00 00 00
writer.Write(3);  //03 00 00 00 
writer.Write(int.MaxValue); //FF FF FF 7F
}
byte[] test = new byte[4];
using (BinaryReader reader = new BinaryReader(new FileStream(@"C:TEST", FileMode.Open)))
{
reader.BaseStream.Seek(8, SeekOrigin.Begin);
reader.Read(test, 0, 4);
Console.WriteLine(BitConverter.ToInt32(test, 0));     //2
reader.BaseStream.Seek(16, SeekOrigin.Begin);
reader.Read(test, 0, 4);
Console.WriteLine(BitConverter.ToInt32(test, 0));     //2147483647    
Console.Read();
}

但是如何处理double

它就像

writer.Write((double)int.MaxValue);

二进制编写器类

写入(双精度( 将一个八字节浮点值写入 当前流并将流位置提前 8 个字节

至于阅读

reader.ReadDouble()

BinaryReader.ReadDouble Method ((

最新更新