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的单个字段。

此外,此类提供了几种方法用于将 转换为 doubleStringString 转换为 double,以及处理 double时有用的其他常量和方法。

<-- Android 删除:ValueBased 上的段落

这是一个 基于值的 类;程序员应将 #equals (对象) 的实例视为可互换的实例,并且不应使用实例进行同步,否则可能会出现不可预知的行为。 例如,在将来的版本中,同步可能会失败。 -->

<h2>equivalenceRelation>浮点相等性、等效性和 Comparison</h2>

IEEE 754 浮点值包括有限非零值、有符号零 (+0.0-0.0) 、有符号无穷大 Double#POSITIVE_INFINITY正无穷大和 Double#NEGATIVE_INFINITY负无穷大) ,以及 Double#NaN NaN (非数字) 。

>一<组值的等效关系<>是反身、对称和可传递的值对上的布尔关系。 有关等效关系和对象相等性的更多讨论,请参阅 Object#equals Object.equals 规范。 等效关系将其操作的值分区为称为 等效类的集。 等价类的所有成员在关系下彼此相等。 等效类只能包含一个成员。 至少出于某些目的,等效类的所有成员都可以相互替换。 具体而言,在数值表达式中,等效值可以在<>不更改表达式结果的情况下相互替换<>,这意味着更改表达式结果的等效类。

值得注意的是,对浮点值的内置==操作不是<<>>等效关系。 尽管没有定义等效关系,但 IEEE 754 == 运算符的语义经过精心设计,以满足数值计算的其他需求。 有两种例外情况,即浮点值上的 等效关系的属性不满足 ==

<ul>

<如果>v1v2 都是 NaN,则 v1 == v2 具有值 false。 因此,对于两个 NaN 参数,<等效关系的 em>reflexive</em> 属性是<运算符满足==的 em>not</em>。

<li>如果 v1 表示 +0.0v2 表示 -0.0,反之亦然,则 v1 == v2 具有 值 true ,即使 +0.0-0.0 在各种浮点运算下是可区分的。 例如, 的计算结果为正无穷大,1.0/+0.0而 计算结果为><负</>负无穷大,正无穷大和负无穷大既不相等,也不相1.0/-0.0等。 因此,虽然带符号零输入通常确定零结果的符号,但由于除以零, +0.0 并且 -0.0 通常不能相互替换。 零输入的符号也对某些数学库方法的结果具有不可替代的影响。

</ul>

对于使用内置比较运算符 (<<=等 ) 的有序比较,NaN 值具有另一种异常情况:NaN 既不小于也不大于,也不等于任何值,包括自身。 这意味着比较的三分法不会<><>保留。

为了为 equalscompareTo 方法提供适当的语义,这些方法不能只是包装 == 或有序比较操作。 相反, Double#equals equals 将 NaN 参数定义为彼此相等,并将 定义为 +0.0<em>not</em> 等于 -0.0,还原反身性。 对于比较, 定义一个总顺序, Double#compareTo compareTo 其中 -0.0 小于 +0.0 ,其中 NaN 等于自身并被视为大于正无穷大。

compareTo 的操作equals语义以 #doubleToLongBits 按位将浮点值转换为整型值来表示。

实现<#compareTo compareTo的 em>自然排序</em> 与 equals 一致。 也就是说,当且仅当compareTo两个对象返回零时,两个对象才会报告为相等equals

equalscompareTo 定义的调整行为允许包装类的实例能够正常使用传统数据结构。 例如,将 NaN 值 equals 定义为彼此允许 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.lang.DoubleJava 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

构造函数

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

一个常量,该常量包含类型 double为的最小正法线值,2<sup-1022></sup>。

MinValue

一个常量,该常量包含类型 double为 2<sup-1074></sup> 的最小正非零值。

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 for Android 基础结构,不应直接从代码中使用。

(继承自 Number)
ThresholdType

此 API 支持 Mono for 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()

返回 doubleDouble 对象的值。

Equals(Object)

指示某个其他对象是否“等于”此对象。

(继承自 Object)
FloatValue()

在收缩基元转换后以 的形式float返回此 Double 的值。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
HashCode(Double)

返回值的哈希代码 double ;与 Double.hashCode()兼容。

IntValue()

在收缩基元转换后以 的形式int返回此 Double 的值。

InvokeIsInfinite(Double)

true如果指定的数字在数量级上无限大,则返回 ;否则返回 false

InvokeIsNaN(Double)

true如果指定的数字是非数字 (NaN) 值,则返回 ;否则返回 false

IsFinite(Double)

true如果参数是有限浮点值,则返回 false ;否则返回 naN 和无穷大参数 () 。

JavaFinalize()

当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。

(继承自 Object)
LongBitsToDouble(Int64)

返回对应于 double 给定位表示形式的值。

LongValue()

在收缩基元转换后以 的形式long返回此 Double 的值。

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表示的值,如类 Double的 方法执行valueOf的那样。

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()

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 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 值。

适用于