大家可能遇到这样的情况:
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 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);
如上也一样能得到准确的答案。