C# 中的 float、Double 和 Decimal
本教程将讨论 C# 中的浮点数、双精度数和十进制数数据类型之间的异同。
C# 中的浮点数数据类型
浮点数数据类型在 C# 中存储浮点值。float
关键字用于声明一个 float 变量。我们必须在初始化过程中使用 f
说明符来告诉编译器该值是浮点值。浮点变量的大小为 32 位,这意味着它可以存储从 -3.402823e38
到+3.402823e38
的值。浮点变量在 C# 中的精度为 7
位。以下代码示例向我们展示了如何在 C# 中声明一个 float 变量。
using System;
namespace data_types
{
static void Main(string[] args)
{
float fval = 100.0f/3;
Console.WriteLine(fval);
}
}
}
输出:
33.33333
我们在 C# 中使用 float
关键字和 f
指定符初始化了 float 变量 fval
。打印输出显示,fval
的精度仅为 7
位。
C# 中的 Double 数据类型
Double 数据类型也将浮点值存储在 C# 中。double
关键字用于声明一个 double 变量。我们必须在初始化期间使用 d
指示符来告知编译器该值为双精度值。双精度变量的大小为 64 位,这意味着它可以存储从 -1.79769313486232e308
到+1.79769313486232e308
的值。在 C# 中,双精度变量的精度为 15
位。以下代码示例向我们展示了如何在 C# 中声明一个 double 变量。
using System;
namespace data_types
{
static void Main(string[] args)
{
double dval = 100.0d / 3;
Console.WriteLine(dval);
}
}
}
输出:
33.3333333333333
我们在 C# 中使用 double
关键字和 d
指定符初始化了双变量 dval
。打印输出显示,dval
的精度为 15
位。
C# 中的十进制数据类型
十进制数据类型也将浮点值存储在 C# 中。decimal
关键字用于声明一个十进制变量。在初始化过程中,我们必须使用 M
说明符来告知编译器该值为十进制值。十进制变量的大小为 128 位,这意味着它可以存储从 -79,228,162,514,264,337,593,543,950,335
到+79,228,162,514,264,337,593,543,950,335
的值。在 C# 中,十进制变量的精度为 29
位。以下代码示例向我们展示了如何在 C# 中声明一个十进制变量。
using System;
namespace data_types
{
static void Main(string[] args)
{
decimal dval = 100.0M / 3;
Console.WriteLine(dval);
}
}
}
输出:
33.333333333333333333333333333
我们在 C# 中使用 decimal
关键字和 M
指定符初始化了十进制变量 dval
。打印输出显示,dval
的精度为 29
位。
C# 中的浮点数,双精度数和十进制数
float
和 double
数据类型的精度和大小低于 decimal
数据类型。因此,建议使用十进制数据类型来记录需要大量重要数字(例如金融交易)的敏感信息。但是,十进制数据类型比浮点型和双精度数据类型慢得多。因此,每当我们处理一些已经是近似值并且不需要非常高的精度的科学值时,我们都可以根据需要使用 float
或 double
数据类型。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn