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
.
Кроме того, этот класс предоставляет несколько методов для преобразования в double
String
и в String
double
, а также другие константы и методы, полезные при работе с 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(String) |
Создает новый выделенный |
Поля
Bytes |
Число байтов, используемых для представления |
MaxExponent |
Максимальный показатель экспоненты, который может иметь конечная |
MaxValue |
Константа, содержащая наибольшее положительное конечное значение типа |
MinExponent |
Минимальная степень, возможно, имеет нормализованная |
MinNormal |
Константа, содержащая наименьшее положительное нормальное значение типа , 2<sup-1022></sup>. |
MinValue |
Константа, содержащая наименьшее положительное ненулевое значение типа , 2<sup-1074></sup>. |
NaN |
Константы, в которых содержится нечисловое значение (NaN) типа |
NegativeInfinity |
Константа, содержащая отрицательную бесконечность типа |
PositiveInfinity |
Константа, содержащая положительную бесконечность типа |
Size |
Число битов, используемых для представления |
Свойства
Class |
Возвращает класс среды выполнения данного объекта |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
IsInfinite |
Возвращает значение |
IsNaN |
Возвращает значение |
JniIdentityHashCode |
Класс |
JniPeerMembers |
Класс |
PeerReference |
Класс |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Number) |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Number) |
Type |
Экземпляр |
Методы
ByteValue() |
Возвращает значение указанного числа в виде |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
Compare(Double, Double) |
Сравнивает два указанных |
CompareTo(Double) |
Сравнивает два |
Dispose() |
Класс |
Dispose(Boolean) |
Класс |
DoubleToLongBits(Double) |
Возвращает представление указанного значения с плавающей запятой в соответствии с макетом битов с плавающей запятой IEEE 754. |
DoubleToRawLongBits(Double) |
Возвращает представление указанного значения с плавающей запятой в соответствии с битовым макетом двойного формата IEEE 754 с плавающей запятой, сохраняя нечисловые значения (NaN). |
DoubleValue() |
|
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) |
ShortValue() |
Возвращает значение указанного числа в виде |
Sum(Double, Double) |
Сложения двух |
ToArray<T>() |
Класс |
ToHexString(Double) |
Возвращает шестнадцатеричное строковое представление аргумента |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
ToString(Double) |
Возвращает строковое представление аргумента |
UnregisterFromRuntime() |
Класс |
ValueOf(Double) |
Возвращает экземпляр, |
ValueOf(String) |
Возвращает объект, |
Wait() |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.>< (Унаследовано от Object) |
Wait(Int64) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от 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.DisposeUnlessReferenced() |
Класс |
IJavaPeerable.Finalized() |
Класс |
IJavaPeerable.JniManagedPeerState |
Класс |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Класс |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Класс |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Класс |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверенного средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Класс |
GetJniTypeName(IJavaPeerable) |
Класс |