📜  .Net 中 Decimal、Float 和 Double 的区别

📅  最后修改于: 2021-09-27 15:17:08             🧑  作者: Mango

漂浮 :
它是一个浮点二进制小数点类型变量。这意味着它以二进制形式表示一个数字。 Float 是一种单精度 32 位(6-9 位有效数字)数据类型。由于对处理能力的要求非常高,并且在舍入误差不是很重要的情况下,它主要用于图形库。

双倍的 :
它也是具有双精度和 64 位大小(15-17 位有效数字)的浮点二进制点类型变量。 Double 可能是最常用的实数值数据类型,除了金融应用程序和需要高精度的地方。

十进制:
它是一个浮点小数点类型变量。这意味着它使用十进制数 (0-9) 表示一个数字。它使用 128 位(28-29 位有效数字)来存储和表示数据。因此,它比 float 和 double 具有更高的精度。由于其精度高且易于避免舍入误差,它们主要用于金融应用中。

例子 –

C#
using System;
  
public class GFG {
  
    static public void Main()
    {
  
        double d = 0.42e2;    //double data type
        Console.WriteLine(d); // output 42
  
        float f = 134.45E-2f;  //float data type
        Console.WriteLine(f); // output: 1.3445
  
        decimal m = 1.5E6m;   //decimal data type
        Console.WriteLine(m); // output: 1500000
    }
}


输出 –

double、float和decimal的例子

基于 的浮点数、双精度数和十进制数之间的比较:

  • 使用的位数 –
  1. Float 使用 32 位来表示数据。
  2. Double 使用 64 位来表示数据。
  3. 十进制使用 128 位来表示数据。
  • 值范围 –
  1. 浮点值范围从大约 ±1.5e-45 到 ±3.4e38。
  2. 双精度值的范围从大约 ±5.0e-324 到 ±1.7e308。
  3. 十进制值的范围从大约 ±1.0e-28 到 ±7.9e28。
  • 精确 –
  1. 浮点数表示单精度数据。
  2. 双精度表示数据。
  3. Decimal 比 float 和 Double 具有更高的精度。
  • 准确性 –
  1. Float 不如 Double 和 Decimal 准确。
  2. Double 比 Float 更准确,但不如 Decimal 准确。
  3. Decimal 比 Float 和 Double 更准确。

有关 Float 、double 和 Decimal 的文档,请访问此处