C#浮点,双精度,十进制

示例

浮动

float是.NET数据类型的别名System.Single。它允许存储IEEE 754单精度浮点数。存在此数据类型mscorlib.dll,每个C#项目在创建它们时都会隐式引用该数据类型。

大致范围:-3.4×10 38至3.4×10 38

十进制精度:6-9个有效数字

记法

float f = 0.1259;
var f1 = 0.7895f; // f是表示浮点值的文字后缀

应当指出,该float类型通常会导致明显的舍入误差。在精度很重要的应用程序中,应考虑其他数据类型。


double是.NET数据类型的别名System.Double。它表示一个双精度64位浮点数。存在此数据类型,该数据类型mscorlib.dll在任何C#项目中都隐式引用。

范围:±5.0×10 -324到±1.7×10 308

小数精度:15-16个有效数字

记法

double distance = 200.34; // 双重价值
double salary = 245; // 隐式类型转换为double值的整数
var marks = 123.764D; // D是文字后缀,表示双精度值


小数

decimal是.NET数据类型的别名System.Decimal。它代表一个指示128位数据类型的关键字。与浮点类型相比,十进制类型具有更高的精度和较小的范围,这使其适用于财务和货币计算。存在此数据类型,该数据类型mscorlib.dll在任何C#项目中都隐式引用。

范围:-7.9×10 28至7.9×10 28

小数精度:28-29个有效数字

记法

decimal payable = 152.25m; // 十进制值
var marks = 754.24m; // m是表示十进制值的文字后缀