a
Girls s Girls a Tgp c Tgp 6 searchir Girls s Tgp 0searchF Girls nhitachi+cm-n8100n Thaisex bhitachi+cm-n8100a Funandbeauties t
e Funandbeauties 1326607004890_R searchg Thaisex search Tgp i Tgp ls9 Girls Tsearcha Tgp ssearchx Funandbeauties _ Thaisex e Girls rc Thaisex y
[SerializableAttribute] [ComVisibleAttribute(true)] public struct Single : IComparable, IFormattable, IConvertible, IComparable<float>, IEquatable<float>
/** @attribute SerializableAttribute() */ /** @attribute ComVisibleAttribute(true) */ public final class Single extends ValueType implements IComparable, IFormattable, IConvertible, IComparable<float>, IEquatable<float>
Single 實值型別 (Value Type) 表示單精度 32 位元數,範圍從 -3.402823e38 到 3.402823e38,以及正或負零、PositiveInfinity、NegativeInfinity 和非數字 (NaN)。
Single 會以二進位浮點算術的 IEC 60559:1989 (IEEE 754) 標準進行編譯。
Single 提供比較這個型別之執行個體的方法,將執行個體的值轉換成它的字串表示,並將數字的字串表示轉換成這個型別的執行個體。如需格式規格程式碼如何控制實值型別之字串表示的詳細資訊,請參閱格式化概觀、標準數值格式字串和自訂數值格式字串。
當執行二進位運算時,如果其中一個運算元為浮點數型別 (Single 或 Double),則其他的運算元必須為整數型別或浮點數型別。這個運算評估如下:
如果其中一個運算元是整數型別,則該運算元會轉換為其他運算元的浮點數型別。
接著,如果運算元是 Double,則其他運算元會轉換為 Double,並且該運算的執行至少會使用 Double 的範圍和精確度。對於數值運算,結果的型別為 Double。
此外,運算的執行至少使用 Single 型別的範圍和精確度,而對於數值運算,結果的型別為 Single。
浮點數運算子,包括設定 (Assignment) 運算子,不會擲回例外狀況。相反的,在例外的情況下浮點運算的結果為零、無限大或 NaN,如下所述:
如果浮點運算的結果對於目的格式而言太小,則運算的結果為零。
如果浮點運算的結果範圍對於目的格式而言太大,運算的結果為 PositiveInfinity 或 NegativeInfinity,對於結果適當的正負號。
如果浮點運算為無效的,運算的結果為 NaN。
如果浮點運算的一個或兩個運算元為 NaN,運算的結果為 NaN。
請記住,浮點數值只能近似一個十進位數值,而精確度則決定了該數值與十進位數值近似的程度。根據預設,Single 值只含有 7 個十進位位數的精確度,不過內部維持的最大精確度是 9 位數。浮點數值的精確度會造成數種結果:
兩個看起來相等的浮點數值進行比較時可能並不相等,因為它們的最小有效位數不同。
使用浮點數值來進行的數學或比較作業,與使用十進位數值的結果可能會大不相同,因為浮點數值可能無法與十進位數值完全相近。
當牽涉到浮點數值時,數值即可能無法進行往返作業。當一項作業將原始的浮點數值轉換為另一種形式,接著一項反向作業將此轉換後的形式再轉換回浮點數值,我們稱此數值做了一次往返,而最後的浮點數值應該等於原始的浮點數值。往返可能會失敗,因為在轉換中可能會遺失一個或多個最小有效位數。