Java Double toHexString 方法

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("`Java`")) -.-> java/BasicSyntaxGroup(["`Basic Syntax`"]) java(("`Java`")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["`Object-Oriented and Advanced Concepts`"]) java(("`Java`")) -.-> java/FileandIOManagementGroup(["`File and I/O Management`"]) java(("`Java`")) -.-> java/SystemandDataProcessingGroup(["`System and Data Processing`"]) java/BasicSyntaxGroup -.-> java/variables("`Variables`") java/BasicSyntaxGroup -.-> java/output("`Output`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("`Packages / API`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("`User Input`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/wrapper_classes("`Wrapper Classes`") java/FileandIOManagementGroup -.-> java/files("`Files`") java/FileandIOManagementGroup -.-> java/create_write_files("`Create/Write Files`") java/SystemandDataProcessingGroup -.-> java/math_methods("`Math Methods`") java/SystemandDataProcessingGroup -.-> java/string_methods("`String Methods`") subgraph Lab Skills java/variables -.-> lab-117632{{"`Java Double toHexString 方法`"}} java/output -.-> lab-117632{{"`Java Double toHexString 方法`"}} java/packages_api -.-> lab-117632{{"`Java Double toHexString 方法`"}} java/user_input -.-> lab-117632{{"`Java Double toHexString 方法`"}} java/wrapper_classes -.-> lab-117632{{"`Java Double toHexString 方法`"}} java/files -.-> lab-117632{{"`Java Double toHexString 方法`"}} java/create_write_files -.-> lab-117632{{"`Java Double toHexString 方法`"}} java/math_methods -.-> lab-117632{{"`Java Double toHexString 方法`"}} java/string_methods -.-> lab-117632{{"`Java Double toHexString 方法`"}} end

创建一个新的 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 值。

您可能感兴趣的其他 Java 教程