Double 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
該 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>若 v1 和 v2 皆為 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 等於自身且被視為大於正無限大。
與 equals 的compareTo操作語意以 #doubleToLongBits 位元將浮點數轉換為整數值來表達。
<由 實現>的 em<自然排序>/em#compareTo compareTo 是可比的,與等值一致。 也就是說,當且僅當equals兩個物件在這些物件上返回零時,才被報告為相等compareTo。
調整後的行為定義 equals 並 compareTo 允許包裝類別實例與傳統資料結構正常運作。 例如,將 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 版本新增。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| Double(Double) |
構造一個新分配 |
| Double(String) |
構造一個新分配 |
欄位
| 名稱 | Description |
|---|---|
| Bytes |
用來表示一個 |
| MaxExponent |
有限變數的最大指數 |
| MaxValue |
一個常數,包含型別最大正有限值,型別 |
| MinExponent |
正規化 |
| MinNormal |
一個常數,保持型態 |
| MinValue |
一個常數,包含最小的正非零值,型態為 2 |
| NaN |
一個常數,包含型別 |
| NegativeInfinity |
一個常數,保持型態 |
| PositiveInfinity |
一個常數,保持型態 |
| Precision |
值的有效數 |
| Size |
用來表示一個 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| IsInfinite |
|
| IsNaN |
若此 |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
該 |
| JniPeerMembers |
取得用於調用此 Java 節點成員的 JNI 元資料。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Number) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Number) |
| Type |
|
方法
| 名稱 | Description |
|---|---|
| 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 浮點「雙重格式」位元配置所規定的浮點數表示,並保留非數字(NaN)值。 |
| DoubleValue() |
回傳 |
| Equals(Object) |
該 |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| FloatValue() |
在經過一個縮小的原始轉換後,回傳此值 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| HashCode(Double) |
回傳一個雜湊碼; |
| IntValue() |
在原始轉換趨近之後,回傳此值 |
| InvokeIsInfinite(Double) |
若指定數量的大小 |
| InvokeIsNaN(Double) |
若指定數字為非數字(Not-a-Number,NaN)值 |
| 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 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
運算子
| 名稱 | Description |
|---|---|
| Explicit(Double to Double) |
將指定的 |
明確介面實作
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
該 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |