/// <summary>
/// float 10进制转16进制
/// </summary>
/// <param name="f"></param>
/// <returns></returns>
public string Float_TenToHex(float f)
{
var bytes = BitConverter.GetBytes(f);
return BitConverter.ToString(bytes).Replace("-", "");
}
/// <summary>
/// float 16进制转十进制
/// </summary>
/// <param name="hex"></param>
/// <returns></returns>
public float Float_HexToTen(string hex)
{
byte[] data = new byte[hex.Length / 2];
for (int i = 0; i < hex.Length / 2; i++)
{
data[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
}
return BitConverter.ToSingle(data, 0);
}
16进制字符串转十进制,思路是先把他转成byte数组,在将数组转成10进制
在转数组的时候记得两位一伙,16进制两位表示一个数组
例如 12.03 转成 16进制 E17A4041
然后E1 一组依次转成数组
再转十进制就又变成了12.03