c#中double类型如何转到byte数组中存储,不损失精度

dyiajure 2010-01-15 02:22:36
double a=10.23155548;
byte[] buf=new byte[8];
如何让a值存储到数组buf中,要求不损失精度的。
另外如果是double数组到byte数组该怎么转?
...全文
480 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyiajure 2010-01-15
  • 打赏
  • 举报
回复
7、9楼的方法满足要求,解决了,谢谢
testtestett 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xfyxq 的回复:]
C# codebyte[] buf= System.BitConverter.GetBytes((double)d);
[/Quote]

up
nashina 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dugupiaoyun 的回复:]
先换成string再放到byte里,然后byte取出来string再转成double行不
[/Quote]
如果只是存储数据的话,我都用这种方式的,不知道lz要实现什么样的操作
wlglala 2010-01-15
  • 打赏
  • 举报
回复
BitConvert.GetBytes
dyiajure 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dqw120 的回复:]
Byte  byte  =  System.Convert.ToByte(doubleVal);
[/Quote]
我是要存到byte数组中,不是byte值类型,这个损失的精度太高了
xfyxq 2010-01-15
  • 打赏
  • 举报
回复
byte[] buf = System.BitConverter.GetBytes((double)d);
dqw120 2010-01-15
  • 打赏
  • 举报
回复
Byte byte = System.Convert.ToByte(doubleVal);
maomao90 2010-01-15
  • 打赏
  • 举报
回复
学习
dyiajure 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jimh 的回复:]
先转换成intptr类型,然后随便你转换成其它类型
[/Quote]
除了用非托管来做有没有方便一点的方法呢?
jimh 2010-01-15
  • 打赏
  • 举报
回复
先转换成intptr类型,然后随便你转换成其它类型
dyiajure 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dugupiaoyun 的回复:]
先换成string再放到byte里,然后byte取出来string再转成double行不
[/Quote]
这样不行,我要以字节为单位处理,不能改变存储的结构,如何能从double类型中每次取出一个字节来,存储到byte中,这样最好
dugupiaoyun 2010-01-15
  • 打赏
  • 举报
回复
先换成string再放到byte里,然后byte取出来string再转成double行不

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧