怎么将十六进制字符串在Java中转换为双精度

来源:爱站网时间:2021-11-25编辑:网友分享
网上很多关于将十六进制字符串在Java中转换为双精度的教程, 五花八门,爱站技术小编个人不喜欢这样,里面的东西虽然都差不多,但很多都不是很贴合事实的,但我们干程序员的,越贴近真相越好。那么小编也写一个关于将十六进制字符串在Java中转换为双精度的文章,希望对和我一样有个性的coder们有点帮助。

问题描述


我想将此十六进制字符串48985DDFAF27A0转换为两倍。结果应为49.1903648

我尝试过

  1. Double.longBitsToDouble
  2. 使用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中转换为双精度了吧。

上一篇:您将如何处理将来可能会有所不同的两个相同的值对象?

下一篇:如何解析HttpsURLConnection的JSON结果,其中有些没有标题?

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载