在 C# 中将十进制转换为字节数组,但它必须可以按字典顺序排序

问题描述 投票:0回答:1

对于 double BitConverter.GetBytes(double) 反向返回数组,如果按字典顺序排序,则与(正)双精度数排序相同。对于十进制也可以做同样的事情吗?

例如,

var bytes = BitConverter.GetBytes((double)input);
Array.Reverse(bytes);
PrintBytes(bytes);

输入 = 2 个字节是:

64 0 0 0 0 0 0 0 

输入 = 2.05

64 0 102 102 102 102 102 102 

输入 = 2.1

64 0 204 204 204 204 204 205 
c# decimal
1个回答
0
投票

显而易见的答案是将

decimal
转换为
double
,然后利用您已经承认可以接受的行为来实现您的目的。

例如

BitConverter.GetBytes(Convert.ToDouble(input))

© www.soinside.com 2019 - 2024. All rights reserved.