C# 中的 float、Double 和 Decimal
本教程將討論 C# 中的浮點數、雙精度數和十進位制數資料型別之間的異同。
C# 中的浮點數資料型別
浮點數資料型別在 C# 中儲存浮點值。float
關鍵字用於宣告一個 float 變數。我們必須在初始化過程中使用 f
說明符來告訴編譯器該值是浮點值。浮點變數的大小為 32 位,這意味著它可以儲存從 -3.402823e38
到+3.402823e38
的值。浮點變數在 C# 中的精度為 7
位。以下程式碼示例向我們展示瞭如何在 C# 中宣告一個 float 變數。
using System;
namespace data_types
{
static void Main(string[] args)
{
float fval = 100.0f/3;
Console.WriteLine(fval);
}
}
}
輸出:
33.33333
我們在 C# 中使用 float
關鍵字和 f
指定符初始化了 float 變數 fval
。列印輸出顯示,fval
的精度僅為 7
位。
C# 中的 Double 資料型別
Double 資料型別也將浮點值儲存在 C# 中。double
關鍵字用於宣告一個 double 變數。我們必須在初始化期間使用 d
指示符來告知編譯器該值為雙精度值。雙精度變數的大小為 64 位,這意味著它可以儲存從 -1.79769313486232e308
到+1.79769313486232e308
的值。在 C# 中,雙精度變數的精度為 15
位。以下程式碼示例向我們展示瞭如何在 C# 中宣告一個 double 變數。
using System;
namespace data_types
{
static void Main(string[] args)
{
double dval = 100.0d / 3;
Console.WriteLine(dval);
}
}
}
輸出:
33.3333333333333
我們在 C# 中使用 double
關鍵字和 d
指定符初始化了雙變數 dval
。列印輸出顯示,dval
的精度為 15
位。
C# 中的十進位制資料型別
十進位制資料型別也將浮點值儲存在 C# 中。decimal
關鍵字用於宣告一個十進位制變數。在初始化過程中,我們必須使用 M
說明符來告知編譯器該值為十進位制值。十進位制變數的大小為 128 位,這意味著它可以儲存從 -79,228,162,514,264,337,593,543,950,335
到+79,228,162,514,264,337,593,543,950,335
的值。在 C# 中,十進位制變數的精度為 29
位。以下程式碼示例向我們展示瞭如何在 C# 中宣告一個十進位制變數。
using System;
namespace data_types
{
static void Main(string[] args)
{
decimal dval = 100.0M / 3;
Console.WriteLine(dval);
}
}
}
輸出:
33.333333333333333333333333333
我們在 C# 中使用 decimal
關鍵字和 M
指定符初始化了十進位制變數 dval
。列印輸出顯示,dval
的精度為 29
位。
C# 中的浮點數,雙精度數和十進位制數
float
和 double
資料型別的精度和大小低於 decimal
資料型別。因此,建議使用十進位制資料型別來記錄需要大量重要數字(例如金融交易)的敏感資訊。但是,十進位制資料型別比浮點型和雙精度資料型別慢得多。因此,每當我們處理一些已經是近似值並且不需要非常高的精度的科學值時,我們都可以根據需要使用 float
或 double
資料型別。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn