none
IEEC 十六进制32位浮点数与小数的相互转换

    问题

  • 请教如何将32位十六进制浮点数与十进制小数相互转换的函数。例如,如何将“41C8CCCD"转换成25.10;又如何将25.10转换成"41C8CCCD"
    2016年8月27日 10:51

答案

全部回复

  • 不好意思,我忘记说明需要在vb.net中使用,谢谢!
    2016年8月27日 12:19
  • //C#

    int num = 0x41c8cccd;
    float num2 = *((float*) &num);
    int num3 = *((int*) &num2);
    Debug.WriteLine(num2.ToString());
    Debug.WriteLine(num3.ToString("X"));

    //VB.NET

     Dim num As Integer = &H41C8CCCD
     Dim num2 As Single = DirectCast(AddressOf num, Single*)
     Dim num3 As Integer = DirectCast(AddressOf num2, Integer*)
     Debug.WriteLine(num2.ToString)
     Debug.WriteLine(num3.ToString("X"))


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2016年8月27日 15:26
  • 我您回复的VB.NET代码贴到我的程序中测试,AddressOf 后面的num显示错误,提示是“后面的参数必须是某个方法的名称”;后面的*号也同样显示为错误,请教如何解决?万分感谢您的帮助。
    2016年8月27日 18:05
  • 你好,

    似乎你发不一个同样的问题,这个下面这个链接,我已经提供相关代码,你可以参考一下。

    https://social.microsoft.com/Forums/zh-CN/871d4702-e868-4251-a593-73a5f68096af/vbnet32?forum=2212

    Best regards,

    Cole Wu


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年8月29日 5:47
    版主