在C#中将double转换为hex

rro*_*oss 16 .net c# double hex

我有这个价值:

double headingAngle = 135.34375;
Run Code Online (Sandbox Code Playgroud)

我想将其转换为HEX并将HEX打印到控制台.我已经将一个字符串和int转换为它们各自的HEX值,但是双精度似乎要复杂得多.有人能指出我正确的方向吗?

Bar*_*art 12

好吧,我 用谷歌搜索了一两分钟,据此,是一个非常优雅的解决方案

    double d = 12.09;
    Console.WriteLine("Double value: " + d.ToString());
    byte[] bytes = BitConverter.GetBytes(d);
    Console.WriteLine("Byte array value:");
    Console.WriteLine(BitConverter.ToString(bytes));
Run Code Online (Sandbox Code Playgroud)

  • 我知道这个问题很老了,但值得指出的是,这段代码不会将double的值转换为十六进制表示.相反,它会写出用于在内部存储数字的位的十六进制表示.对于浮点数,这两个是不同的东西! (5认同)