用指数符号分配和计算



您观察过这种现象吗?

如果我尝试在Visual Studio 2010 c# . net的ImmediateWindow中计算以下计算,我得到了这个奇怪的解决方案。

1E-9 * 100 = 0.00000010000000000000001
1E-9 * 1E+2 = 0.00000010000000000000001

即使我这样计算:

double val = 1E-9;
0.000000001
val = val * 100;
0.00000010000000000000001

如果我在Windows calc中计算相同的计算,我得到预期的结果:

1E-9 * 100 = 0,0000001

如果有人知道这种行为,我将非常高兴得到的信息。

不管你是否使用指数符号,你只是遇到浮点精度。如果您想要更好的精度,请使用十进制,例如:

decimal val = 1E-9;
0.000000001
val = val * 100;
0.0000001

参见

相关内容

  • 没有找到相关文章

最新更新