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

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

Введение

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

Создайте новый 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 с использованием этого метода.