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(String) |
Создает только что выделенный |
Поля
| Имя. | Описание |
|---|---|
| Bytes |
Число байтов, используемых для представления |
| MaxExponent |
Возможно, максимальное экспонентное значение конечной |
| MaxValue |
Константа, содержащая наибольшее положительное конечное значение типа |
| MinExponent |
Минимальная экспонентная переменная может иметь нормализованную |
| MinNormal |
Константа, содержащая наименьшее положительное нормальное значение типа, 2 |
| MinValue |
Константа, содержащая наименьшее положительное ненулевое значение типа, 2 |
| NaN |
Константа, содержащая значение типа |
| NegativeInfinity |
Константа, содержащая отрицательную бесконечность типа |
| PositiveInfinity |
Константа, содержащая положительную бесконечность типа |
| Precision |
Число битов в знаке |
| Size |
Число битов, используемых для представления |
Свойства
| Имя. | Описание |
|---|---|
| Class |
Возвращает класс среды выполнения этого |
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| IsInfinite |
Возвращает значение |
| IsNaN |
Возвращает значение |
| JniIdentityHashCode |
Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия. (Унаследовано от Object) |
| JniManagedPeerState |
Класс |
| JniPeerMembers |
Возвращает метаданные JNI, используемые для вызова элементов этого Java однорангового узла. |
| PeerReference |
Возвращает ссылку на объект JNI для этого Java однорангового узла. (Унаследовано от Object) |
| ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Number) |
| ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Number) |
| Type |
Экземпляр |
Методы
| Имя. | Описание |
|---|---|
| ByteValue() |
Возвращает значение указанного числа в виде |
| Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
| Compare(Double, Double) |
Сравнивает два указанных |
| CompareTo(Double) |
Сравнивает два |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Класс |
| Dispose() |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| Dispose(Boolean) |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| DisposeUnlessReferenced() |
Класс |
| DoubleToLongBits(Double) |
Возвращает представление указанного значения с плавающей запятой в соответствии с битовой структурой IEEE 754 с плавающей запятой "двойной формат". |
| DoubleToRawLongBits(Double) |
Возвращает представление указанного значения с плавающей запятой в соответствии со значением битового формата IEEE 754 с плавающей запятой , сохраняя значения Not-a-Number (NaN). |
| DoubleValue() |
|
| Equals(Object) |
Класс |
| Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
| FloatValue() |
Возвращает значение этого |
| GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
| HashCode(Double) |
Возвращает хэш-код для |
| IntValue() |
Возвращает значение этого |
| InvokeIsInfinite(Double) |
Возвращает значение |
| InvokeIsNaN(Double) |
Возвращает значение |
| IsFinite(Double) |
Возвращает значение, если аргумент является конечным значением с плавающей запятой; возвращается |
| JavaFinalize() |
Устаревшие.
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
| LongBitsToDouble(Int64) |
|
| LongValue() |
Возвращает значение этого |
| Max(Double, Double) |
Возвращает больше двух |
| Min(Double, Double) |
Возвращает меньшее из двух |
| Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
| NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
| ParseDouble(String) |
Возвращает новое |
| SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Класс |
| ShortValue() |
Возвращает значение указанного числа в виде |
| Sum(Double, Double) |
Добавляет два |
| ToArray<T>() |
Создает управляемый массив из этого Java оболочки массива. (Унаследовано от Object) |
| ToHexString(Double) |
Возвращает шестнадцатеричное строковое представление аргумента |
| ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
| ToString(Double) |
Возвращает строковое представление аргумента |
| UnregisterFromRuntime() |
Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия. (Унаследовано от Object) |
| ValueOf(Double) |
Возвращает экземпляр, представляющий указанное |
| ValueOf(String) |
|
| Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
| Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Операторы
| Имя. | Описание |
|---|---|
| Explicit(Double to Double) |
Преобразует указанное |
Явные реализации интерфейса
| Имя. | Описание |
|---|---|
| IComparable.CompareTo(Object) |
Сравнивает это значение с указанным объектом для упорядочивания. |
| IConvertible.GetTypeCode() |
Возвращает код типа для этого значения. |
| IConvertible.ToBoolean(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToByte(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToChar(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToDateTime(IFormatProvider) |
Преобразование в |
| IConvertible.ToDecimal(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToDouble(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToInt16(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToInt32(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToInt64(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToSByte(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToSingle(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToString(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToType(Type, IFormatProvider) |
Преобразует это значение в тип, указанный в параметре |
| IConvertible.ToUInt16(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToUInt32(IFormatProvider) |
Преобразует это значение в |
| IConvertible.ToUInt64(IFormatProvider) |
Преобразует это значение в |
| IJavaPeerable.Disposed() |
Класс |
| IJavaPeerable.Finalized() |
Класс |
| IJavaPeerable.JniObjectReferenceControlBlock |
Класс |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Класс |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Класс |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Класс |
| IJavaPeerable.UnregisterFromRuntime() |
Класс |
Методы расширения
| Имя. | Описание |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Класс |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |