0

我正在将应用程序从 VB6 移植到 C#。我特别发现了一个导致我出现问题的计算。它基本上归结为

opperandA *.01 / opperandB

我的具体例子是:

1 * .01 / 12

在 VB6(和 Windows 计算器)中,我得到 8.3333333333e-4。

但是,在 C#(和所有其他计算器)中,我得到 .00083333。

第二个数字对我来说很有意义,但我必须复制第一个结果并且我想理解它,那么为什么 VB6 和 Windows 计算器会产生奇怪的结果?

4

1 回答 1

5

8.3333333333e-4 与 0.00083333 相同。它相当于:

8.3333333333 * 10^-4
= 8.3333333333 times ( ten to the power of -4 )
= 8.3333333333 * 0.0001
= 0.00083333333
N.b. After rounding

e 代表指数,相关的维基百科文章是http://en.wikipedia.org/wiki/Exponentiation

于 2013-07-06T07:11:29.670 回答