怎么将十六进制字符串在Java中转换为双精度
来源:爱站网时间:2021-11-25编辑:网友分享
网上很多关于将十六进制字符串在Java中转换为双精度的教程, 五花八门,爱站技术小编个人不喜欢这样,里面的东西虽然都差不多,但很多都不是很贴合事实的,但我们干程序员的,越贴近真相越好。那么小编也写一个关于将十六进制字符串在Java中转换为双精度的文章,希望对和我一样有个性的coder们有点帮助。
问题描述
我想将此十六进制字符串48985DDFAF27A0转换为两倍。结果应为49.1903648。
我尝试过
Double.longBitsToDouble
- 使用
parseInt(x, 16)
解析十六进制字符串,然后使用intBitsToFloat
上述方法似乎都不起作用。
请提供建议
思路:
您必须将十六进制数字的字符串解析为long。之后,您可以使用Double.longBitsToDouble
转换为double。这是您的十六进制数字的示例:
public class Converter {
public static void main(String[] args) {
String hex = "48985DDFAF27A0";
long longHex = parseUnsignedHex(hex);
double d = Double.longBitsToDouble(longHex);
System.out.println(d);
}
public static long parseUnsignedHex(String text) {
if (text.length() == 16) {
return (parseUnsignedHex(text.substring(0, 1))
以上内容就是爱站技术频道小编为大家分享的怎么将十六进制字符串在Java中转换为双精度,看完以上分享之后,大家应该都知道怎么将十六进制字符串在Java中转换为双精度了吧。