2014-10-02 67 views
0

我有一个很快的问题,可能看起来很奇怪,但我还没有找到答案。Java浮点文字与C#

我正在将一些Java代码的数学运算转换为C#,并遇到了一个我不知道如何解决的情况。其实我发现符号

1.e-18 

现在,我知道1.是字面表示双精度浮点在Java中点数,在C#中可以表示为1d,但什么是“E”代表在Java在这种情况下?

感谢您的支持!

编辑

其实我注意到它是1.e-18的价值,我提

+0

是否有一个整数超过'e',例如'1.e8'? – rgettman 2014-10-02 22:13:10

+2

这只是一个语法错误(http://ideone.com/rBVHiJ) – 2014-10-02 22:15:31

回答

2

此代码应该只是罚款:

decimal d = Decimal.Parse("1.e-18", System.Globalization.NumberStyles.Float); 
Console.WriteLine(d.ToString()); 

1.e-18是在科学记数法(或者也称为指数符号)。它通常用于表示非常大的值或非常小的值。在英文中,这种表示法表示“从1.0开始,然后将小数点向左移动18位”,从而给出值0.000000000000000001。如果是1.e+18,则应将小数点位置向右移动18位。