Метод toHexString() для класса Double в Java

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии вы научитесь использовать метод toHexString() класса Double в Java. Этот метод используется для возврата абсолютной шестнадцатеричной строки, соответствующей переданному значению типа double. Возвращаемое значение будет иметь формат 0xh.hhhhhhhhhhhhp+d, где h представляет шестнадцатеричную цифру, а d представляет десятичный показатель степени.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) 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{{"Метод toHexString() для класса Double в Java"}} java/output -.-> lab-117632{{"Метод toHexString() для класса Double в Java"}} java/packages_api -.-> lab-117632{{"Метод toHexString() для класса Double в Java"}} java/user_input -.-> lab-117632{{"Метод toHexString() для класса Double в Java"}} java/wrapper_classes -.-> lab-117632{{"Метод toHexString() для класса Double в Java"}} java/files -.-> lab-117632{{"Метод toHexString() для класса Double в Java"}} java/create_write_files -.-> lab-117632{{"Метод toHexString() для класса Double в Java"}} java/math_methods -.-> lab-117632{{"Метод toHexString() для класса Double в Java"}} java/string_methods -.-> lab-117632{{"Метод toHexString() для класса Double в Java"}} end

Создайте новый Java-файл

Создайте новый Java-файл с именем DoubleToHexString.java с использованием следующей команды в терминале.

touch DoubleToHexString.java

Добавьте инструкцию import

Добавьте следующую инструкцию import в начале Java-файла для импорта класса java.lang.Double.

import java.lang.Double;

Используйте метод toHexString()

В этом шаге мы будем использовать метод toHexString() для получения шестнадцатеричной строки, соответствующей значению типа double.

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);
}

В приведенном выше коде мы создали переменную типа double с именем num со значением -123.45. Затем мы использовали метод toHexString() для получения шестнадцатеричной строки, соответствующей значению num. Наконец, мы вывели оба значения с использованием метода System.out.println().

Используйте значение NaN

В этом шаге мы будем использовать метод toHexString() для значения NaN.

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, которое представляет значение Not-A-Number (NaN), для получения шестнадцатеричной строки, соответствующей этому значению. Как уже упоминалось ранее, для значения NaN будет возвращено значение "NaN". Наконец, мы вывели оба значения с использованием метода System.out.println().

Ввод пользователя

В этом шаге мы получим ввод от пользователя и затем используем метод toHexString() для получения шестнадцатеричной строки, соответствующей введенному значению.

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() для получения шестнадцатеричной строки, соответствующей введенному значению. Наконец, мы вывели оба значения с использованием метода System.out.println().

Скомпилируйте и запустите код

Скомпилируйте код с использованием следующей команды:

javac DoubleToHexString.java

Запустите код с использованием следующей команды:

java DoubleToHexString

Вы увидите вывод, подобный следующему:

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

Резюме

В этом практическом занятии вы узнали, как использовать метод toHexString() класса Double для получения шестнадцатеричной строки, соответствующей заданному значению типа double. Также вы узнали, как обрабатывать значение NaN с использованием этого метода.