如何在C#中指定指数常量?

时间:2010-12-03 12:41:36

标签: c# constants numeric exponential

我有一些C代码将指数数字定义为常量。我如何用C#写这个?

    double TOL = 1.E-8d;
    double TOL2 = 1.E - 8;

5 个答案:

答案 0 :(得分:7)

如果小数点后没有数字,则不包括该点。与C / C ++ /等相同。所以:

double TOL= 1E-8;
double TOL2 = 1E-8;

或者,或许,对于不同的值:

double TOL = 1.5E-8;

这是规范,第2.4.4.3节:

http://msdn.microsoft.com/en-us/library/ms228593.aspx

答案 1 :(得分:3)

    double tol = 1.0e8;
    double tol2 = 1.0e-8;

答案 2 :(得分:3)

您与第一张表格非常接近 - 但您只需要在“。”之后输入一个数字,或删除“。”完全:

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;

...但我个人认为我的后缀是可读性的。

答案 3 :(得分:2)

这是你在C#中的表现方式:

double value = -4.42330604244772E-305;

另见MSDN on System.Double

答案 4 :(得分:0)

这是一个稍微不同的例子,而不是指数数字。

Linux上的g ++报告

double value = 1744056d错误。

double value = 1744056.0d没问题。