Doublevalue java что это
Перейти к содержимому

Doublevalue java что это

  • автор:

Doublevalue java что это

Абстрактный класс Number суперкласс классов BigDecimal , BigInteger , Byte , Double , Float , Integer , Long , и Short . Подклассы Number должен обеспечить методы, чтобы преобразовать представленное числовое значение в byte , double , float , int , long , и short .

Сводка конструктора

Конструкторы

Конструктор и Описание
Number()

Сводка метода

Методы

Модификатор и Тип Метод и Описание
byte byteValue()

Возвращает значение конкретного количества как a byte .

Возвращает значение конкретного количества как a double .

Возвращает значение конкретного количества как a float .

Возвращает значение конкретного количества как int .

Возвращает значение конкретного количества как a long .

Возвращает значение конкретного количества как a short .

Почему необходимо указать doubleValue (без него не выполняется), ведь автораспарковка должна сработать?

Почитайте, пожалуйста, Java Code Conventions. Имена классов должны писаться с большой буквы. Это поможет другим людям лучше понимать ваш код.

8 июл 2015 в 8:22

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Автораспаковка работает только так

Integer iOb = 100; // автоматически упаковывает значение типа int int i = iOb; // автораспаковка 

И тоже самое для остальных типов.

Преобразовать между Integer и double нельзя

int a = 1; Integer b = 1; double c = (double) a; // OK Double d = (Double) b; // NOT ON. 

Вы задаете требование для pablo быть Number. И вы можете считывать только через метод doubleValue, так как шаблонный класс alfa может быть объявлен с любым типом унаследованным от Number.

Doublevalue java что это

Класс Integer — это оболочка простого типа int. Объект содержит единственное поле типа int. Кроме того, этот класс обеспечивает несколько методов для преобразования int в String и обратно, а также другие константы и методы полезные при работе с int.

  • static int MAX_VALUE — Самая большая величина типа int
  • static int MIN_VALUE — Минимальная величина типа int
  • static Class TYPE — Объект Класса представляющий простой тип int
  • Integer(int value) — Создает вновь размещенный объект Integer, который создается на основе аргумента
  • Integer(String s) — Создает вновь размещенный объект Integer, который создается на основе строкового аргумента
  • byte byteValue() — Возвращает величину Integer как byte
  • int compareTo(Integer anotherInteger) — Сравнивает два целых числа
  • int compareTo(Object o) — Сравнивает число с другим объектом
  • static Integer decode(String nm) — Переводит строку в целое
  • double doubleValue() — Возвращает величину Integer как double
  • boolean equals(Object obj) — Сравнивает это объект с другим объектом
  • float floatValue() — Возвращает величину Integer как double
  • static Integer getInteger(String nm) — Определяет значение целого системного свойства с определенным именем
  • static Integer getInteger(String nm, int val) — Определяет значение целого системного свойства с определенным именем
  • static Integer getInteger(String nm, Integer val) — Возвращает значение целого системного свойства с определенным именем
  • int hashCode() — Возвращает hashcode для этого обьекта
  • int intValue() — Возвращает величину Integer как int
  • long longValue() — Возвращает величину Integer как long
  • static int parseInt(String s) — Выполняет грамматический разбор аргумента строки как десятичного целого
  • static int parseInt(String s, int radix) — Выполняет грамматический разбор аргумента строки, как целого со знаком в системе счисления определенной во втором аргументе
  • short shortValue() — Возвращает величину Integer как short
  • static String toBinaryString(int i) — Создает представление строки аргумента целого как целое с базой 2
  • static String toHexString(int i) — Создает представление строки аргумента целого как целое с базой 16
  • static String toOctalString(int i) — Создает представление строки аргумента целого как целое с базой 8
  • String toString() — Возвращает строковое представление числа
  • static String toString(int i) — Возвращает новый объект строки с десятичным представлением числа
  • static String toString(int i, int radix) — Возвращает новый объект строки с текстовым значением числа i в заданной системе счисления radix
  • static Integer valueOf(String s, int radix) — Возвращает новый объект Integer инициализированный величиной определенной в строковой переменной s записанной в системе счисления radix

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем — 05.01.2003

Округление чисел до n десятичных знаков в Java

Одна из распространенных проблем, с которой сталкиваются новички в Java, — это округление чисел до определенного количества десятичных знаков. Например, имеется число 0.912385, которое требуется округлить до 5 десятичных знаков, причем округление должно происходить по методу «половина вверх», то есть если десятичная дробь для округления равна 5, она всегда округляется вверх до следующего числа.

Метод String.format

Одним из способов сделать это в Java является использование метода String.format . Например:

String.format("%.5g%n", 0.912385);

Этот код вернет 0.91239 , что является ожидаемым результатом. Однако этот метод всегда отображает числа с 5 десятичными знаками, даже если они не значимы. Например:

String.format("%.5g%n", 0.912300);

Этот код вернет 0.91230 , что не является желаемым результатом, поскольку ожидается 0.9123 , без завершающего нуля.

Метод DecimalFormat

Альтернативным способом является использование DecimalFormat :

DecimalFormat df = new DecimalFormat("#.#####"); df.format(0.912385);

Этот код вернет 0.91238 . Однако, данный метод использует округление «половина к ближайшему четному», то есть он округлит вниз, если предыдущая цифра четная.

Решение

Чтобы достичь желаемого результата, можно использовать комбинацию BigDecimal и DecimalFormat . Вот пример:

BigDecimal bd = new BigDecimal(Double.toString(0.912385)); bd = bd.setScale(5, RoundingMode.HALF_UP); DecimalFormat df = new DecimalFormat("#.#####"); df.format(bd.doubleValue());

Этот код сначала преобразует число в BigDecimal , затем устанавливает масштаб до 5 десятичных знаков с округлением вверх, и, наконец, форматирует его в DecimalFormat для удаления завершающих нулей. Это даст ожидаемый результат 0.91239 для 0.912385 и 0.9123 для 0.912300 .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *