C# 开三次方我用 Math.Pow(8,1/3),结果等于1我再用double a=8double b=1/3Math

1个回答

  • 首先Pow(double a,double b)的2个参数都得是浮点数,这个你应该清楚了.

    double b=1/3 的计算过程是:

    首先计算1/3=0

    接下来 b=(double) 0 ,0隐式转换为double类型,但 b的结果还是0

    (就是说先做除法运算,算术运算符的优先级比赋值运算高),

    正确的做法是 Pow(8,1f/3)

    把1或3任意一个变成浮点数后再去做除法运算,这样一来1f/3的结果就不是0,而是0.3333333了