QT中一个float除法精度丢失的问题
以下程序运行环境QT MinGW 5.3.0 32 bit
代码一:
QString s="2.08";
float b=s.toFloat();
qDebug()<<b; //2.08
float c=0.01;
float val=b/c;
int value=(int)val;
qDebug()<<value; //207 error
代码二:
QString s="2.08";
float b=s.toFloat();
qDebug()<<b; //2.08
float c=0.01;
float val=b/c;
qDebug()<<val; //208 加上这句输出后结果都对了
int value=(int)val;
qDebug()<<value; //208 ok
代码三:
float b=2.08; //现在直接给浮点数结果也对
qDebug()<<b; //2.08
float c=0.01;
float val=b/c;
int value=(int)val;
qDebug()<<value; //208 ok
想找个明白人帮助解惑,万分感谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论