Java Double toHexString 方法

JavaBeginner
立即练习

介绍

在本实验中,你将学习如何使用 Java 中 Double 类的 toHexString() 方法。该方法用于返回传入的 double 值的绝对十六进制等效 String。返回值将采用 0xh.hhhhhhhhhhhhp+d 的格式,其中 h 表示十六进制数字,d 表示十进制指数。

创建一个新的 Java 文件

在终端中使用以下命令创建一个名为 DoubleToHexString.java 的新 Java 文件。

touch DoubleToHexString.java

添加 import 语句

在 Java 文件的开头添加以下 import 语句以导入 java.lang.Double 类。

import java.lang.Double;

使用 toHexString() 方法

在这一步中,我们将使用 toHexString() 方法来获取一个 double 值的十六进制等效 String

public static void main(String[] args) {
    double num = -123.45;
    String hex = Double.toHexString(num);

    System.out.println("Decimal value: " + num);
    System.out.println("Hexadecimal value: " + hex);
}

在上述代码中,我们创建了一个名为 num 的 double 变量,其值为 -123.45。然后我们使用 toHexString() 方法获取 num 的十六进制等效 String。最后,我们使用 System.out.println() 方法打印了这两个值。

使用 NaN 值

在这一步中,我们将对 NaN 值使用 toHexString() 方法。

public static void main(String[] args) {
    double num = Double.NaN;
    String hex = Double.toHexString(num);

    System.out.println("Decimal value: " + num);
    System.out.println("Hexadecimal value: " + hex);
}

在上述代码中,我们使用了 Double.NaN,它表示非数字(NaN)值,以获取其十六进制等效 String。如前所述,对于 NaN 值,将返回 "NaN"。最后,我们使用 System.out.println() 方法打印了这两个值。

用户输入

在这一步中,我们将从用户获取输入,然后使用 toHexString() 方法获取输入值的十六进制等效 String

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    System.out.print("Enter a decimal value: ");
    double num = sc.nextDouble();

    String hex = Double.toHexString(num);

    System.out.println("Decimal value: " + num);
    System.out.println("Hexadecimal value: " + hex);
}

在上述代码中,我们使用了 Scanner 类从用户获取输入值。然后我们使用 toHexString() 方法获取输入值的十六进制等效 String。最后,我们使用 System.out.println() 方法打印了这两个值。

编译并运行代码

使用以下命令编译代码:

javac DoubleToHexString.java

使用以下命令运行代码:

java DoubleToHexString

你将看到类似以下的输出:

Enter a decimal value: 123.45
Decimal value: 123.45
Hexadecimal value: 0x1.edd2f1a9fbe77p6

总结

在本实验中,你学习了如何使用 Double 类的 toHexString() 方法获取给定 double 值的十六进制等效 String。你还学习了如何使用此方法处理 NaN 值。