double类型准确转换成int类型

 大家可能遇到这样的情况:

double x=2.555;

int y=(int)(x*1000);

cout << "y=" << y << endl;

结果:y=2554。

如果要准确得到整型数据,可以这样。

int y=(int)(x*1000.0);

 

 

或者是通过字符串转换。

char ch[20];

sprintf(ch,"%01f",x*1000);

y=atol(ch);

 

如上也一样能得到准确的答案。

你可能感兴趣的:(double类型准确转换成int类型)