如何在Math.pow()中使用十进制值

时间:2013-09-12 10:05:45

标签: c#-4.0

我有一个计算:

 (22,582 / 10,000)^1/15 - 1

C#我这样使用:

double i = Math.Pow(2.2582,1/15) - 1;
Response.Write(i);

但每次它在 i 中返回 0 。我知道( 1/15 )会在计算中产生一些干扰,所以为了解决这个问题,我用( .067 )代替( 1/15 < / strong>)这给了我 0.0560927980835855 的结果,但我仍然远离我的实际结果。有人可以告诉正确的方法。

2 个答案:

答案 0 :(得分:2)

第一个计算应该是:

(22.582d / 10.000d) * (1.0d/15.0d) - 1.0d

在文字中使用“d”告诉编译器该数字应该是double。如果你不使用它,编译器认为1/15是两个整数除以产生0。

所以最后的计算应该是:

double i = Math.Pow(2.2582d, 1.0d/15.0d) - 1.0d;
Response.Write(i);

这意味着:

1/15 = 0

1.0d/15.0d = 0.06666667

答案 1 :(得分:0)

这里1和15被认为是整数并且被计算以找到整数结果1/15 = 0; 不是双重结果。 尝试使用1f / 15f而不是1/15