我有一个计算:
(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 的结果,但我仍然远离我的实际结果。有人可以告诉正确的方法。
答案 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