Double Класс

Определение

Класс Double заключает в оболочку значение примитивного типа double в объекте .

[Android.Runtime.Register("java/lang/Double", DoNotGenerateAcw=true)]
public sealed class Double : Java.Lang.Number, IConvertible, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IComparable
[<Android.Runtime.Register("java/lang/Double", DoNotGenerateAcw=true)>]
type Double = class
    inherit Number
    interface IConvertible
    interface IComparable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Наследование
Атрибуты
Реализации

Комментарии

Класс Double заключает в оболочку значение примитивного типа double в объекте . Объект типа Double содержит одно поле с типом double.

Кроме того, этот класс предоставляет несколько методов для преобразования в doubleString и в Stringdouble, а также другие константы и методы, полезные при работе с double.

<-- удалено в Android: абзац в ValueBased

Это класс на основе значений ; Программисты должны рассматривать экземпляры, которые #equals (объект) равны, как взаимозаменяемые и не должны использовать экземпляры для синхронизации, иначе может произойти непредсказуемое поведение. Например, в будущем выпуске синхронизация может завершиться ошибкой. -->

<h2>equivalenceRelation>С плавающей запятой Равенство, Эквивалентность и Сравнение</h2>

Значения с плавающей запятой IEEE 754 включают конечные ненулевые значения, нули со знаком (+0.0 и -0.0), со знаком бесконечности Double#POSITIVE_INFINITY положительную бесконечность и Double#NEGATIVE_INFINITY отрицательную бесконечность) и Double#NaN NaN (не-число).

Отношение <<эквивалентности em>/em> для набора значений — это логическое отношение для пар значений, которое является рефлексивным, симметричным и транзитивным. Дополнительные сведения об отношениях эквивалентности и равенстве объектов см. в спецификации Object#equals Object.equals . Отношение эквивалентности разделяет значения, над которыми оно работает, в наборы, называемые классами эквивалентности. Все члены класса эквивалентности равны друг другу в связи. Класс эквивалентности может содержать только один член. По крайней мере для некоторых целей все члены класса эквивалентности являются подстановки друг для друга. В частности, в числовых выражениях эквивалентные значения могут быть <>заменены<> друг на друга без изменения результата выражения, что означает изменение класса эквивалентности результата выражения.

Примечательно, что встроенная == операция со значениями с плавающей запятой не<> является <>отношением эквивалентности. Несмотря на то, что отношение эквивалентности не определено, семантика оператора IEEE 754 == была намеренно разработана для удовлетворения других потребностей числовых вычислений. Существует два исключения, в которых свойства отношения эквивалентности не удовлетворяются значениями == с плавающей запятой:

<ul>

<Li>Если v1 и v2 являются NaN, то v1 == v2 имеет значение false. Таким образом, для двух аргументов <NaN свойство em>рефлексивного</em> отношения эквивалентности не <удовлетворяет оператору == em></em>.

<Li>Если v1 представляет +0.0 , а v2 представляет -0.0, или наоборот, то v1 == v2 имеет значение true , хотя +0.0 и -0.0 различимы при различных операциях с плавающей запятой. Например, оценивает как положительную бесконечность, 1.0/+0.0 в то время как 1.0/-0.0 оценивается <как em>отрицательная< бесконечность> , а положительная бесконечность и отрицательная бесконечность не равны ни друг другу, ни эквивалентны друг другу. Таким образом, в то время как входные данные со знаком ноль чаще всего определяют знак нулевого результата из-за деления на ноль и +0.0-0.0 не могут быть заменены друг на друга в целом. Знак нулевого ввода также не подстановки влияет на результат некоторых методов математической библиотеки.

</ul>

Для упорядоченных сравнений с использованием встроенных операторов сравнения (<, <=и т. д.) значения NaN имеют другую аномальную ситуацию: NaN не меньше, не больше и не равно ни одному значению, включая себя. Это означает, что трихотомия сравнения не< является <>удержанием>.

Чтобы обеспечить соответствующую семантику для equals методов и compareTo , эти методы не могут быть просто оболочками для == операций сравнения или упорядоченных операций сравнения. Вместо этого определяет аргументы NaN, равные друг другу, и определяет<+0.0, Double#equals equals что em>not</em> равны -0.0, восстанавливая рефлексивность. Для сравнения определяет общий порядок, Double#compareTo compareTo где -0.0 меньше, чем +0.0 , где NaN равно самому себе и считается больше положительной бесконечности.

Операционная семантика equals и compareTo выражается в виде #doubleToLongBits битового преобразования значений с плавающей запятой в целочисленные.

Естественное <упорядочение< или em>,>реализованное с помощью #compareTo compareTo , сопоставляется с равенствами. То есть два объекта сообщаются как равные equals , если и только в том случае, если compareTo для этих объектов возвращается ноль.

Скорректированное поведение, определенное для equals классов-оболочек и compareTo позволяет экземплярам классов-оболочек правильно работать с обычными структурами данных. Например, определение значений equals NaN друг к другу позволяет использовать NaN в качестве элемента java.util.HashSet HashSet или в качестве ключа java.util.HashMap HashMap. Аналогичным образом, определение compareTo как общего порядка, включая +0.0, -0.0и NaN, позволяет использовать экземпляры классов-оболочек в качестве элементов java.util.SortedSet SortedSet или в качестве ключей java.util.SortedMap SortedMap.

Добавлено в версии 1.0.

Документация по Java для java.lang.Double.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

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

Double(Double)

Создает только что выделенный Double объект, представляющий примитивный double аргумент.

Double(String)

Создает новый выделенный Double объект, представляющий значение с плавающей запятой типа double , представленного строкой.

Поля

Bytes

Число байтов, используемых для представления double значения.

MaxExponent

Максимальный показатель экспоненты, который может иметь конечная double переменная.

MaxValue

Константа, содержащая наибольшее положительное конечное значение типа double, (2-2<sup-52></sup>)· 2<sup>1023</sup>.

MinExponent

Минимальная степень, возможно, имеет нормализованная double переменная.

MinNormal

Константа, содержащая наименьшее положительное нормальное значение типа , 2<sup-1022></sup>.double

MinValue

Константа, содержащая наименьшее положительное ненулевое значение типа , 2<sup-1074></sup>.double

NaN

Константы, в которых содержится нечисловое значение (NaN) типа double.

NegativeInfinity

Константа, содержащая отрицательную бесконечность типа double.

PositiveInfinity

Константа, содержащая положительную бесконечность типа double.

Size

Число битов, используемых для представления double значения.

Свойства

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsInfinite

Возвращает значение true , если это Double значение бесконечно велико по величине, false в противном случае .

IsNaN

Возвращает значение true , если это Double значение не является числом (NaN), false в противном случае .

JniIdentityHashCode

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
JniPeerMembers

Класс Double заключает в оболочку значение примитивного типа double в объекте .

PeerReference

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Number)
ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Number)
Type

Экземпляр Class , представляющий примитивный тип double.

Методы

ByteValue()

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

(Унаследовано от Number)
Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Compare(Double, Double)

Сравнивает два указанных double значения.

CompareTo(Double)

Сравнивает два Double объекта по числовым значениям.

Dispose()

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
Dispose(Boolean)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
DoubleToLongBits(Double)

Возвращает представление указанного значения с плавающей запятой в соответствии с макетом битов с плавающей запятой IEEE 754.

DoubleToRawLongBits(Double)

Возвращает представление указанного значения с плавающей запятой в соответствии с битовым макетом двойного формата IEEE 754 с плавающей запятой, сохраняя нечисловые значения (NaN).

DoubleValue()

double Возвращает значение этого Double объекта.

Equals(Object)

Указывает, равен ли какой-то другой объект этому объекту.

(Унаследовано от Object)
FloatValue()

Возвращает значение этого Double объекта в виде после float сужающегося примитивного преобразования.

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
HashCode(Double)

Возвращает хэш-код для double значения; совместим с Double.hashCode().

IntValue()

Возвращает значение этого Double объекта в виде после int сужающего примитивного преобразования.

InvokeIsInfinite(Double)

Возвращает значение true , если указанное число бесконечно велико по величине, false в противном случае .

InvokeIsNaN(Double)

Возвращает значение true , если указанное число является нечислным false (NaN), в противном случае .

IsFinite(Double)

Возвращает значение true , если аргумент является конечным значением с плавающей запятой; возвращает в false противном случае (для аргументов NaN и бесконечности).

JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

(Унаследовано от Object)
LongBitsToDouble(Int64)

Возвращает значение, double соответствующее заданному битового представления.

LongValue()

Возвращает значение этого Double объекта в виде после long сужающегося примитивного преобразования.

Max(Double, Double)

Возвращает большее из двух double значений, как если бы путем вызова Math#max(double, double) Math.max.

Min(Double, Double)

Возвращает меньшее из двух double значений, как если бы путем вызова Math#min(double, double) Math.min.

Notify()

Пробуждает один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Пробуждает все потоки, ожидающие на мониторе этого объекта.

(Унаследовано от Object)
ParseDouble(String)

Возвращает новый double , инициализированный значением, представленным указанным String, как это выполняется методом valueOf класса Double.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ShortValue()

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

(Унаследовано от Number)
Sum(Double, Double)

Сложения двух double значений в рамках оператора +.

ToArray<T>()

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
ToHexString(Double)

Возвращает шестнадцатеричное строковое представление аргумента double .

ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
ToString(Double)

Возвращает строковое представление аргумента double .

UnregisterFromRuntime()

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
ValueOf(Double)

Возвращает экземпляр, Double представляющий указанное double значение.

ValueOf(String)

Возвращает объект, Double содержащий значение, double представленное строкой sаргумента .

Wait()

Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.><

(Унаследовано от Object)
Wait(Int64)

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени.

(Унаследовано от Object)

Операторы

Explicit(Double to Double)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

Явные реализации интерфейса

IComparable.CompareTo(Object)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.GetTypeCode()

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToBoolean(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToByte(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToChar(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToDateTime(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToDecimal(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToDouble(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToInt16(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToInt32(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToInt64(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToSByte(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToSingle(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToString(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToType(Type, IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToUInt16(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToUInt32(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IConvertible.ToUInt64(IFormatProvider)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

IJavaPeerable.Disposed()

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
IJavaPeerable.Finalized()

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенного средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

GetJniTypeName(IJavaPeerable)

Класс Double заключает в оболочку значение примитивного типа double в объекте .

Применяется к