語言

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 String 、a String 轉換為 double的方法,以及其他在處理 時 double有用的常數與方法 。

<-- Android已移除:ValueBased 上的段落

這是一個 以價值為基礎 的類別;程式設計師應將 #equals(物件)相等的實例視為可互換,不應使用實例進行同步,否則可能會發生不可預測的行為。 例如,在未來版本中,同步可能會失敗。 -->

<h²>等價關係>浮點數等價、等價與比較</h²>

IEEE 754 浮點數值包括有限非零值、帶號零(+0.0-0.0)、有號無限大 Double#POSITIVE_INFINITY正無限大與 Double#NEGATIVE_INFINITY負無限大)以及 Double#NaN NaN(非數字)。

<在一組值上的 em>等價關係</em> 是一種在數值對上的布林關係,具有自反性、對稱性且傳遞性的。 欲了解更多關於等價關係與物件等號的討論,請參閱規範。Object#equals Object.equals 等價關係將其所操作的值劃分為稱為 等價類的集合。 等價類的所有成員在關係下彼此相等。 等價類別可能只包含一個成員。 至少在某些情況下,等價類的所有成員彼此可互換。 特別地,在數值表達式中,等價值可以<互換>為< em>,而不會改變表達式的結果,也就是說,改變表達式結果的等價類。

值得注意的是,浮點數值的內建 == 運算為 <em>not</em> a 等價關係。 儘管未定義等價關係,IEEE 754 == 運算符的語意設計是為了滿足其他數值計算需求而設計。 有兩個例外,當浮點值不滿足 == 等價關係的性質時:

<UL>

<li>若 v1v2 皆為 NaN,則 v1 == v2 值為 false。 因此,對於兩個 NaN 參數,<等價關係的 em>自反<性/em> 性質由<><>算符滿足。==

<如果>表示 ,而 v1 表示 +0.0,或反之亦然,則 v2 即使 和 -0.0 在各種浮點運算下可區分,也 具有 值v1 == v2true+0.0-0.0 例如, 1.0/+0.0 評估為正無限大,而 1.0/-0.0 評估為 <em>為負</em> 無限大,而正無限大與負無限大既不相等,也不等價。 因此,雖然有符號的零輸入通常決定零結果的符號,但由於除以零, +0.0-0.0 通常不能互換。 零輸入的符號也會對某些數學函式庫方法的結果產生不可替代的影響。

</ul>

對於使用內建比較算子(<<=、 等)進行有序比較時,NaN 值還有另一個異常情況:NaN 既不小於、也不大於,也不等於任何值,包括它自身。 這表示比較三<是 em>not<> /em 成立嗎?

為了提供適當的語意equalscompareTo與方法,這些方法不能只是==包裝或有序比較操作。 相反地,Double#equals equals定義 NaN 參數彼此相等,並定義 +0.0 em <>不<>等於 -0.0,恢復自反性。 比較時, Double#compareTo compareTo 定義了一個全階,其中 -0.0+0.0 於 ,且 NaN 等於自身且被視為大於正無限大。

equalscompareTo操作語意以 #doubleToLongBits 位元將浮點數轉換為整數值來表達。

<由 實現>的 em<自然排序>/em#compareTo compareTo 是可比的,與等值一致。 也就是說,當且僅當equals兩個物件在這些物件上返回零時,才被報告為相等compareTo

調整後的行為定義 equalscompareTo 允許包裝類別實例與傳統資料結構正常運作。 例如,將 NaN 定義為彼此的 , equals 使 NaN 可以作為 a 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

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
Double(Double)

構造一個新分配 Double 的物件,代表原始 double 參數。

Double(String)

構造一個新分配 Double 的物件,代表由字串所代表的浮 double 點數值。

欄位

名稱 Description
Bytes

用來表示一個 double 值的位元組數。

MaxExponent

有限變數的最大指數 double 可能有。

MaxValue

一個常數,包含型別最大正有限值,型別double為 (2-2<sup-52></sup>)·2<sup>1023</sup>。

MinExponent

正規化 double 變數可能有的最小指數。

MinNormal

一個常數,保持型態double中最小的正正規值,<2 sup-1022></sup>。

MinValue

一個常數,包含最小的正非零值,型態為 2doublesup-1074<>/sup<。>

NaN

一個常數,包含型別 double為 的非數值(NaN)值。

NegativeInfinity

一個常數,保持型態 double的負無限大。

PositiveInfinity

一個常數,保持型態 double為正無限大。

Precision

值的有效數 double 位元數。

Size

用來表示一個 double 值的位元數。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
IsInfinite

true若此Double值的大小false無限大,則返回;否則。

IsNaN

若此true值為非數字(NaNDouble),則回傳false,否則。

JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

Double 類別會將原始型態 double 的值包裹在物件中。

(繼承來源 JavaObject)
JniPeerMembers

取得用於調用此 Java 節點成員的 JNI 元資料。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Number)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Number)
Type

Class代表原始型態double的實例。

方法

名稱 Description
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 浮點「雙重格式」位元配置所規定的浮點數表示,並保留非數字(NaN)值。

DoubleValue()

回傳 double 這個 Double 物件的值。

Equals(Object)

Double 類別會將原始型態 double 的值包裹在物件中。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
FloatValue()

在經過一個縮小的原始轉換後,回傳此值Double為 。float

GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
HashCode(Double)

回傳一個雜湊碼; double 與 相容 Double.hashCode()

IntValue()

在原始轉換趨近之後,回傳此值Doubleint的值。

InvokeIsInfinite(Double)

若指定數量的大小true無限大,則回傳false,否則。

InvokeIsNaN(Double)

若指定數字為非數字(Not-a-Number,NaN)值true,則回傳false;否則。

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

回傳 Double 代表指定 double 值的實例。

ValueOf(String)

回傳 Double 一個物件,該物件包含 double 由參數字串 s所代表的值。

Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

運算子

名稱 Description
Explicit(Double to Double)

將指定的 DoubleDouble轉換為 。

明確介面實作

名稱 Description
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 的值包裹在物件中。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

Double 類別會將原始型態 double 的值包裹在物件中。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於