float (C# 參考)
更新:2007 年 11 月
float 關鍵字代表可儲存 32 位元浮點數值的簡單型別。下表列出 float 型別的精確度和大約範圍。
型別 |
大約範圍 |
精確度 |
.NET Framework 型別 |
---|---|---|---|
float |
±1.5 × 10-45 至 ±3.4 × 1038 |
7 個數字 |
常值
根據預設,指派運算子右邊的實數常值會被視為 double。因此請使用後置字元 f 或 F 初始化 float 變數,如下列範例所示:
float x = 3.5F;
如果上述宣告中沒有使用後置字元,編譯時就會發生錯誤,因為這樣實際上是嘗試將 double 值存到 float 變數內。
轉換
您可以在一個運算式裡混合數值整數型別和浮點型別。在這種情況裡,整數型別會轉換成浮點型別。運算式的評估會根據下列規則來執行:
如果其中一個浮點型別是 double,運算式就會評估為 double,或者如果是在關係運算式或布林運算式中則為 bool。
如果運算式中沒有 double 型別,運算式就會評估為 float,或者如果是在關係運算式或布林運算式中則為 bool。
浮點運算式可以包含下列值的集合:
正零和負零
正無限大和負無限大
非數字值 (NaN)
非零值的有限集合
如需這些數值的詳細資訊,請參閱 IEEE 網站上的 IEEE Standard for Binary Floating-Point Arithmetic。
範例
在下列程式碼範例的算術運算式中含有一個 int、一個 short 和一個 float,因此運算結果為 float (請記住 float 是 System.Single 型別的別名)。請注意,此運算式中並沒有 double。
class FloatTest
{
static void Main()
{
int x = 3;
float y = 4.5f;
short z = 5;
var result = x * y / z;
Console.WriteLine("The result is {0}", result);
Type type = result.GetType();
Console.WriteLine("result is of type {0}", type.ToString());
}
}
/* Output:
The result is 2.7
result is of type System.Single //'float' is alias for 'Single'
*/
C# 語言規格
如需詳細資料,請參閱 C# 語言規格中的下列章節:
4.1.6 浮點型別
6.2.1 明確數值轉換