社区
Java SE
帖子详情
16进制字符串转换为float值
pxboy
2007-09-02 12:24:34
有一个16进制字符串,请问如何转换为float类型的值?
如有:43B48000 41180000 48A74680 三个字符串
...全文
722
5
打赏
收藏
16进制字符串转换为float值
有一个16进制字符串,请问如何转换为float类型的值? 如有:43B48000 41180000 48A74680 三个字符串
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Yofoo
2007-09-02
打赏
举报
回复
DWORD a = ::strtoul(str,0,16);
float b = (float)a;
bit1010
2007-09-02
打赏
举报
回复
上面的两个解法都没有考虑小数部分:
public static Float parseFloatHex(String hexString) {
// 如果解析出错,则抛出异常
String[] slit = hexString.split("[.]");
float f = 0;
if (slit.length > 2) {
throw new IllegalArgumentException("");
}
if (slit[0].length() > 0) { //如果含有整数部分
f += Integer.parseInt(slit[0], 16);
}
if(slit.length == 2) {
int div = 1;
for (int i = 0; i < slit[1].length(); i++) {
div *= 16;
}
f += Integer.parseInt(slit[1], 16) * 1.0 / div;
}
return f;
}
pxboy
2007-09-02
打赏
举报
回复
zephyr_cc的正解,
其他的可能都没明白怎么回事,这是一个float的16进制存储的问题
zephyr_cc
2007-09-02
打赏
举报
回复
搞定了~
public static void toFloat(String s) {
int intBits = Integer.parseInt(s, 16);
float f = Float.intBitsToFloat(intBits);
System.out.println(f);
}
double的:
public static void toDouble(String s) {
long longBits = Long.parseLong(s, 16);
double d = Double.longBitsToDouble(longBits);
System.out.println(d);
}
CharlesPrince
2007-09-02
打赏
举报
回复
int StrLen = YourStr.length;
Char SubChar;
int Rst=0;
for (int i=0;i<StrLen;i++)
{
SubChar=YourStr.subString(i);
if (SubChar>='0' && SubChar<='9')
{
Rst+=(SubChar-48)*(i*16);
}
else if(SubChar>='A' && SubChar<='F')
{
Rst+=(SubChar-55)*(i*16);
}
else if(SubChar>='a' && SubChar<='f')
{
Rst+=(SubChar-87)*(i*16);
}
else
{
Rst=0; //如查非法字符
break;
}
}
return Rst; //没有测过,由ASCII码算的,不对的话,自己改改。
C#浮点数和
16进制
字节数互相
转换
该代码可以实现单精度浮点数和
16进制
字符之间的
转换
,包含源代码
c#,十六进制
转换
成浮点数
用的时候,发现很少,就自己写了一个,用c#实现的十六进制转浮点数。
16进制
java
float
,java 如何将十六进制
字符串
转换
为
float
符点型?相互
转换
java 如何将十六进制
字符串
转换
为
float
符点型?先上代码:package com.weixiao.network;/*** java 如何将十六进制
字符串
转换
为
float
符点型?相互
转换
* Hex2
Float
* @author 微wx笑* @date 2017年12月6日下午5:22:...
java 如何将十六进制
字符串
转换
为
float
符点型?相互
转换
java 如何将十六进制
字符串
转换
为
float
符点型? 先上代码: package com.weixiao.network; /** * java 如何将十六进制
字符串
转换
为
float
符点型?相互
转换
* Hex2
Float
* @author 微wx笑 * @date 2017年12月...
十六进制字节串
转换
为
float
型十进制数
我们使用binascii.unhexlify()方法将hex_str
转换
为字节串形式。然后,我们使用struct.unpack()方法将字节串解包为...最后,我们使用print(dec_num)打印结果,显示将十六进制字节串
转换
为
float
型十进制数得到的结果。
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章