繁体   English   中英

将十进制转换为字节数组

[英]Convert decimal to byte array

假设我有decimal X

我想将3个字节计算为a,b,c ,其中a.bc Gig在X附近。

我希望它尽可能干净和短。

我已经实现了它,但是它很糟糕,但是可以工作。

例如X = 2972117368 ,我想要a = 2, b = 7, c = 6 怎么样?

2972117368 /(1024 * 1024 * 1024)= 2.76799999922514

X将始终小于9.99 GB。

似乎您已完成大部分工作:

decimal x = 2972117368;
double gig = Convert.ToDouble(x) / 1073741824.0;

byte a = (byte)Math.Floor(gig); // works for up to 127 gig - actually up to 256
byte b = (byte)(Math.Floor(gig * 10) % 10);
byte c = (byte)(Math.Floor(gig * 100) % 10);

编辑:对于某些错别字和逻辑错误

Encoding.ASCII.GetBytes((double.Parse((X / (1024.0 * 1024 * 1024)).ToString("0.00")) * 100).ToString())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM