首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

double转int解决思路

2012-03-14 
double转int如题,需要进行double到int的转换若按下面方法:double tt((24.4-14.4)/10.0)int tttint(tt)

double转int
如题,需要进行double到int的转换
 若按下面方法:
 double tt=((24.4-14.4)/10.0); 
 int ttt=int(tt);
 得出ttt=0;因为精度的问题;

  因此,我做了一个变通,代码如下:
  double temp=1.0e-12; //不能太小,因为有计算即本身数据精度的制约
  double tt=((24.4-14.4)/10.0+temp); 
  int ttt=int(tt);

  这样得出的结果:ttt=1
  请问这样处理是否合适,有无更优的方法?谢谢!

[解决办法]
我觉得这方法还是不错的,你可以把temp稍微再大点吧。
[解决办法]
用math.h 里的 floor() , ceil() 函数可以取上限,取下限,例如:
floor 2.8 是 2.000000
floor -2.8 是 -3.000000
ceil 2.8 是 3.000000
ceil -2.8 是 -2.000000

四舍五入要自己考虑,例如 用 绝对值加0.5 以后再处理。
[解决办法]
一切办法都没用, 直接找一个高级运算库即可.
[解决办法]
合适,很好

热点排行