【发布时间】:2010-12-03 12:41:36
【问题描述】:
我有一些将指数数定义为常数的 C 代码。如何用 C# 编写?
double TOL = 1.E-8d;
double TOL2 = 1.E - 8;
【问题讨论】:
标签: c# constants numeric exponential
我有一些将指数数定义为常数的 C 代码。如何用 C# 编写?
double TOL = 1.E-8d;
double TOL2 = 1.E - 8;
【问题讨论】:
标签: c# constants numeric exponential
如果小数点后没有数字,则不包括该点。与 C/C++/等相同。所以:
double TOL= 1E-8;
double TOL2 = 1E-8;
或者,对于不同的值:
double TOL = 1.5E-8;
这在规范中,第 2.4.4.3 节:
【讨论】:
double tol = 1.0e8;
double tol2 = 1.0e-8;
【讨论】:
您的第一个表单非常接近 - 但您只需要在“.”之后添加一个数字,或者删除“.”完全:
double TOL = 1.0E-8d;
double TOL = 1E-8d;
有关这方面的规则,请参阅C# language spec 的第 2.4.4.3 节。请注意,如果您愿意,也可以使用小写的“e”:
double TOL = 1.0e-8d;
double TOL = 1e-8d;
如果您从“真实”文字中省略后缀,则 double 是默认类型,因此这些也是有效的:
double TOL = 1.0e-8;
double TOL = 1e-8;
...但我个人会包括后缀以提高可读性。
【讨论】:
【讨论】:
这是一个略有不同的示例,不适用于指数数。
double value = 1744056d 在 Linux 上被 g++ 报错。
double value = 1744056.0d 很好。
【讨论】: