數值類型之浮點數類型:
在我們的日常生活中不僅有整數 ,還存在小數,在C#中小數有2種數據類型來表示 (單精度)float 、(雙精度)double。
他們的差別在於取值範圍與精度不同,計算機對浮點數的運算速度大大低於對整數的運算速度,對double型的運算速度低於對float的運算速度,如果在程序中大量的使用雙精度類浮點數,將會佔用更多的記憶體單元,而電腦的處理任務也會更加繁重,但是用double類型的結果相對於float會更加精確,因此在對精度要求不是很高的情況下我們可以採用float 類型。
單精確度(float)類型: 取值範圍在正負 1.5*10^-45 到 3.4*10^38 之間,精確度為7到8位元數字;
雙精確度(double)類型: 取值範圍類型在正負5.0*10^-324 到 1.7*10^308 之間 精確度為15到16位數字;
我寫個程序來區分下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Example { class Program { static void Main(string[] args) {//同一类型在同一行定义时 用 , 分开 float a = 3.0f,b = 10.0f; //这里注意定义float时 加上f/F 应为默认小数是double类型 float c = b / a; //相除 double d = 3.0, e = 10.0; double f = e/d; Console.WriteLine("float c={0}\ndouble f={1}",c,f); //输出 "\n" 表示换行 } } }
結果對比:
我寫個程序來區分下:using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Example { class Program { static void Main(string[] args) { float a = 3.333334444333333f; //第8位(小数点也算一位)开始是4,第9位是4 double d = 3333333333333.3455555544; //第16位是4,17位是5 Console.WriteLine("float c={0}\ndouble f={1}",a,d); //输出 "\n" 表示换行 } } }
rrreee
結果是這樣: 果然在float 的第8位是4捨去變為了0省略掉,double 的第16位本來是4,由於17位是5所以加1,後面為0省略。 。 以上就是C#學習日記06---資料類型 之 浮點數類型的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!