十六进制字符串转成float 十六位字符串 42363333 (左高右低)刚才自己做了一会没做出来 求解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Console.Write(int.Parse("42363333",System.Globalization.NumberStyles.HexNumber)); Console.WriteLine( float.Parse(Convert.ToInt32("42363333", 16).ToString())); 这么写吧0x42 0x36 0x33 0x33 (左高右低) 计算后的float应该是45.55 public string FloatToHex(float floatValue){ uint uintValue = BitConverter.ToUInt32(BitConverter.GetBytes(floatValue), 0); byte[] byteValue = BitConverter.GetBytes(uintValue); Array.Reverse(byteValue); return BitConverter.ToString(byteValue).Replace("-","");}public float HexToFloat(String hexString){ uint num = uint.Parse(hexString, System.Globalization.NumberStyles.AllowHexSpecifier); byte[] floatVals = BitConverter.GetBytes(num); return BitConverter.ToSingle(floatVals, 0);} 5 楼正确,5楼是按照我们常人习惯的读写顺序进行hex转换的。楼主hex2byte那贴,一二楼是按照.net 内部 高低位做的转换,理解上可能困难些。 这个更书本化、正统一些。 技术人员帮个忙 S v f r S e r v e r. e x e WinForm 的页面控制问题。 C#中如何调用API 使其达到 调用系统记事本中 查找和替换 对话框的效果 后台代码的执行顺序问题 一个事件委托的问题,难道CSDN上没人能解决吗 为什么改不了注册表?? 关于文件的修改时间(LastWriteTime)-急 请问《C#高级编程》作者是谁? 安装动网新闻系统,出现了这个错误信息,请高手指点! vs2005项目中如何查看哪些函数未被调用? 求正则表达式:只能输入数字或者为空
Console.WriteLine( float.Parse(Convert.ToInt32("42363333", 16).ToString()));
计算后的float应该是45.55
public string FloatToHex(float floatValue)
{
uint uintValue = BitConverter.ToUInt32(BitConverter.GetBytes(floatValue), 0);
byte[] byteValue = BitConverter.GetBytes(uintValue);
Array.Reverse(byteValue);
return BitConverter.ToString(byteValue).Replace("-","");
}public float HexToFloat(String hexString)
{
uint num = uint.Parse(hexString, System.Globalization.NumberStyles.AllowHexSpecifier);
byte[] floatVals = BitConverter.GetBytes(num);
return BitConverter.ToSingle(floatVals, 0);
}
楼主hex2byte那贴,一二楼是按照.net 内部 高低位做的转换,理解上可能困难些。
这个更书本化、正统一些。