黑马程序员技术交流社区
标题:
单精度float和双精度double的区别?
[打印本页]
作者:
周培
时间:
2013-8-20 12:58
标题:
单精度float和双精度double的区别?
float flo = 6.6F;
double dou = flo;//float类型隐式转换为double类型
Console.WriteLine("float:{0},double:{1}", flo, dou);
if (flo== dou)
{
Console.WriteLine("true");
}
else
{
Console.WriteLine("false");
}
复制代码
如上代码,单精度float和双精度double输出的值不同,但进行判断时结果却为true,
它们到底有什么区别?
作者:
念念念念_、
时间:
2013-8-20 13:45
二者的取值范围和精度是不同的
float的精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4字节空间
double的精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8字节空间。
作者:
左岸
时间:
2013-8-20 14:18
float 类型可以约七位的准确度表示大至 3.4E+38(正或负)的数字和小至 1E-44 的数字。 float 类型还可以表示 NaN(不是数字)、正和负无穷大和正和负零。该类型对于需要大数但不需要很高的准确度的应用程序很有用。 如果需要非常准确的数字,请考虑使用 Decimal 数据类型。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2