Язык

Double Класс

Определение

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

[Android.Runtime.Register("java/lang/Double", DoNotGenerateAcw=true)]
public sealed class Double : Java.Lang.Number, IConvertible, IDisposable, 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.

Кроме того, этот класс предоставляет несколько методов преобразования a в double a и a StringString, а также других констант и методов, полезных при работе с нейdoubledouble.

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

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

<h2>equivalenceRelation>Floating-point Equality, Equivalence и Comparison</h2>

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

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

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

<Ул>

<li>, если v1 и v2 оба — NaN, то v1 == v2 имеет значение false. Таким образом, для двух аргументов <>NaN эмфлекторное< /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 отрицательный</em> бесконечность, так и положительная бесконечность и отрицательная бесконечность не равны друг другу и не эквивалентны друг другу. Таким образом, хотя подписанный ноль входных данных чаще всего определяет знак нулевого результата, из-за деления на ноль, +0.0 и -0.0 не может быть заменен друг на друга в целом. Знак нуля входных данных также имеет неотменяемый эффект на результат некоторых математических методов библиотеки.

</ul>

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

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

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

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

Скорректированное поведение, определенное для equalscompareTo экземпляров классов-оболочки, правильно работает с обычными структурами данных. Например, определение значений 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.

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

Имя. Описание
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

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

MinValue

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

NaN

Константа, содержащая значение типа doubleNot-a-Number (NaN).

NegativeInfinity

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

PositiveInfinity

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

Precision

Число битов в знаке double значения.

Size

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

Свойства

Имя. Описание
Class

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

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

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

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

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

IsNaN

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

JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

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

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

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

Возвращает метаданные JNI, используемые для вызова элементов этого Java однорангового узла.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от 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 объекта числовым образом.

Construct(JniObjectReference, JniObjectReferenceOptions)

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

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

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

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

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

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

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

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

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

DoubleToRawLongBits(Double)

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

DoubleValue()

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

Equals(Object)

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

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

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

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

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

GetHashCode()

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

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

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

IntValue()

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

InvokeIsInfinite(Double)

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

InvokeIsNaN(Double)

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

IsFinite(Double)

Возвращает значение, если аргумент является конечным значением с плавающей запятой; возвращается truefalse в противном случае (для аргументов 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)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

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

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

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

Добавляет два double значения вместе с оператором +.

ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

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

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

ToString()

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

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

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

UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

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

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

ValueOf(String)

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

Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

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

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

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

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

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

Операторы

Имя. Описание
Explicit(Double to Double)

Преобразует указанное Double значение в Double.

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

Имя. Описание
IComparable.CompareTo(Object)

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

IConvertible.GetTypeCode()

Возвращает код типа для этого значения.

IConvertible.ToBoolean(IFormatProvider)

Преобразует это значение в Boolean.

IConvertible.ToByte(IFormatProvider)

Преобразует это значение в Byte.

IConvertible.ToChar(IFormatProvider)

Преобразует это значение в Char.

IConvertible.ToDateTime(IFormatProvider)

Преобразование в DateTime неподдерживаемое и вызывается InvalidCastException.

IConvertible.ToDecimal(IFormatProvider)

Преобразует это значение в Decimal.

IConvertible.ToDouble(IFormatProvider)

Преобразует это значение в Double.

IConvertible.ToInt16(IFormatProvider)

Преобразует это значение в Int16.

IConvertible.ToInt32(IFormatProvider)

Преобразует это значение в Int32.

IConvertible.ToInt64(IFormatProvider)

Преобразует это значение в Int64.

IConvertible.ToSByte(IFormatProvider)

Преобразует это значение в SByte.

IConvertible.ToSingle(IFormatProvider)

Преобразует это значение в Single.

IConvertible.ToString(IFormatProvider)

Преобразует это значение в String.

IConvertible.ToType(Type, IFormatProvider)

Преобразует это значение в тип, указанный в параметре conversionType.

IConvertible.ToUInt16(IFormatProvider)

Преобразует это значение в UInt16.

IConvertible.ToUInt32(IFormatProvider)

Преобразует это значение в UInt32.

IConvertible.ToUInt64(IFormatProvider)

Преобразует это значение в UInt64.

IJavaPeerable.Disposed()

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

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

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

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

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

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

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

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

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

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

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

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

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

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

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