C# 二进制数组到十进制?

标签 c# sql

在 SQL 中,以下工作 cast([comlum] as Decimal(18,4))

如何在 C# 中进行相同的转换(从二进制数据)?


SQL C#中varbinary的数据类型加载到byte[] 所以,我想把byte[]转成decimal还是double?

SQL 查询:select cast([column_A] as decimal(18,4), [column_A] from table

结果:1​​91128.0000 0x1204000180D1EB71

我希望在 C# 中得到 191128.0000 的值


因为,我用的是 Entity Framework
所以,有这个问题

最佳答案

要将字节数组转换为 C# 十进制数,反之亦然,您可以使用这段代码:

decimal d = 12.3456789m;

// decimal to byte[]
byte[] bytes = new byte[16];
Buffer.BlockCopy(decimal.GetBits(d), 0, bytes, 0, 16);

// byte[] to decimal
int[] bits = new int[4];
Buffer.BlockCopy(bytes, 0, bits, 0, 16);
Console.WriteLine(new decimal(bits));  // 12.3456789

关于C# 二进制数组到十进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2091703/

相关文章:

php - 得到奇怪的结果 : mysqli_fetch_array() expects parameter 1 to be mysqli_result

c# - Azure 函数 : Queue Trigger is expecting Base-64 messages and doesn't process them correctly

c# - 如何为 Entity Framework 和 Windows 窗体加密 ConnectionString

sql - PL/SQL——在哪里更新,在哪里回滚

sql - STRING_AGG 未按预期运行

sql - 如何加快SQL Server 2008中的更新查询速度?

sql - 使用 PL/SQL 列出指定目录中的文件

c# - 如何从带有 NSubstitute 的模拟对象返回一个对象(即 List<string>)?

c# - 带有自旋锁的自定义锁

c# - 使用 Accord.Net 框架的决策树