Мониторинг обменных курсов валют
18c0693f

Класс Big Decimal



Класс Big Decimal

Класс BigDecimal расположен В пакете java.math .

Каждый объект этого класса хранит два целочисленных значения: мантиссу вещественного числа в виде объекта класса Biglnteger , и неотрицательный десятичный порядок числа типа int .

Например, для числа 76.34862 будет храниться мантисса 7 634 862 в объекте класса Biglnteger , и порядок 5 как целое число типа int . Таким образом, мантисса может содержать любое количество цифр, а порядок ограничен значением константы integer.MAX_VALUE . Результат операции над объектами класса BigDecimal округляется по одному из восьми правил, определяемых следующими статическими целыми константами:

В классе BigDecimal четыре конструктора:

При использовании третьего из перечисленных конструкторов возникает неприятная особенность, отмеченная в документации. Поскольку вещественное число при переводе в двоичную форму представляется, как правило, бесконечной двоичной дробью, то при создании объекта, например, BigDecimal(0.1) , мантисса, хранящаяся в объекте, окажется очень большой. Она показана на Рисунок 4.5. Но при создании такого же объекта четвертым конструктором, BigDecimal ("0.1") , мантисса будет равна просто 1.

В Классе переопределены методы doubleValue(), floatValue(), intValue(), longValue() .

Большинство методов этого класса моделируют операции с вещественными числами. Они возвращают объект класса BigDecimal . Здесь буква х обозначает объект класса BigDecimal , буква n — целое значение типа int , буква r — способ округления, одну из восьми перечисленных выше констант:

abs() — абсолютное значение объекта this ;

add(x) — операция this + х ;

divide(х, r) — операция this / х с округлением по способу r ;

divide(х, n, r) — операция this / х с изменением порядка и округлением по способу r ;

mах(х) — наибольшее из this и х ; 

min(x) — наименьшее из this и х ; 

movePointLeft(n) — сдвиг влево на n разрядов;

movePointRight(n) — сдвиг вправо на n разрядов;

multiply(х) — операция this * х ; 

negate() — возврзщает объект с обратным знаком; 

scale() — возвращает порядок числз; 

setscaie(n) — устзнавливает новый порядок n ;

setscaie(n, r) — устанавливает новый порядок п и округляет число при необходимости по способу r ;

signumo — знак числа, хранящегося в объекте;

subtract(х) — операция this - х ;

toBiginteger() — округление числа, хранящегося в объекте;

unscaiedvalue() —возвращает мантиссу числа.



Содержание раздела


Самый выгодный курс обмена валюты