【发布时间】:2014-06-14 17:57:32
【问题描述】:
我遇到了双数没有正确转换为整数的问题。
在这种情况下->
int x=1000;
double cuberoot=pow(x,(1/(double)3));
int a=cuberoot;
cout<<"cuberoot="<<cuberoot<<endl;
cout<<"a="<<a<<endl;
输出:
cuberoot=10
a=9
为什么这里 a=9 而不是 10?
有解决这个问题的办法吗??
另外我不想四舍五入值..如果 a=3.67 那么它应该只转换为 3 而不是 4.
【问题讨论】:
-
您可以在数字上加上一个小的正数,然后计算根。喜欢
x=1000+0.05。这将给a=10。 -
不是
cube- 那是x^3