浮点数使用 IEEE(电气和电子工程师协会)格式。 浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。 尾数表示一个介于 1.0 和 2.0 之间的数。 由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。 此表示形式为 float 类型提供了一个大约在 3.4E-38 和 3.4E+38 之间的范围。
**1.float,double**
您可根据应用程序的需求将变量声明为 float 或 double。 这两种类型之间的主要差异在于它们可表示的基数、它们需要的存储以及它们的范围。 下表显示了基数与存储需求之间的关系。
备注
Double数据类型提供一个数字量最大和最小可能值。
Double 的默认值为 0。
浮点变量由尾数(包含数字的值)和指数(包含数字的数量级)表示。
下表显示了分配给每个浮点类型的尾数和指数的位数。 任何 float 或 double 的最高有效位始终是符号位。 如果符号位为 1,则将数字视为负数;否则,将数字视为正数。
//定义float变量
float f = 15.3f;
bool equels2 = (0.1f + 0.2f == 0.3f);
//定义double变量
double b = 10.2d;
bool equals1 = (0.1+0.2==0.3); //flase
bool equals3 = (0.1d + 0.2d == 0.3d); //flase
**2.deciaml**
备注
Decimal数据类型提供了许多的最大有效位数。 它支持最多 29 个有效位数,并可表示值超出 7.9228 x 10 ^28。 它是特别适用于计算,例如财务,这需要大量的数字但不能容忍舍入误差。
Decimal 的默认值为 0。
//定义decimal变量
decimal d = 1.0M;
bool equals4 = (0.1m + 0.2m == 0.3m);//True