介绍
在本实验中,你将学习如何使用 Java 中 Double
类的 toHexString()
方法。该方法用于返回传入的 double 值的绝对十六进制等效 String
。返回值将采用 0xh.hhhhhhhhhhhhp+d 的格式,其中 h 表示十六进制数字,d 表示十进制指数。
在本实验中,你将学习如何使用 Java 中 Double
类的 toHexString()
方法。该方法用于返回传入的 double 值的绝对十六进制等效 String
。返回值将采用 0xh.hhhhhhhhhhhhp+d 的格式,其中 h 表示十六进制数字,d 表示十进制指数。
在终端中使用以下命令创建一个名为 DoubleToHexString.java
的新 Java 文件。
touch DoubleToHexString.java
在 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
值。