代码中有用到浮点计算的地方,想将变量输出查看值是否正确,但是输出的小数位全为零,例如两个整数相除的结果为0.75,但是输出的值却为零,而保留两位小数输出后为0.00,不能正常输出,请问是什么原因,如何才能正确输出,谢谢!
------解决思路----------------------
直接是去qDebug("%.2f", 1.02),格式输出就好了。你倒是先检查一下你的值对不对?
------解决思路----------------------
和Qt没关系,和浮点数也没关系,768/1024 结果本来就是 0
------解决思路----------------------
直接是去qDebug("%.2f", 1.02),格式输出就好了。你倒是先检查一下你的值对不对?
我是通过计算公式得到的一个数值,这个数值赋值给了一个变量 然后在打印输出变量,值就不对了 像你给的例子那样单独输出一个小数是可以的 但是我用768/1024 然后赋值给一个变量 再输出结果就是0.00 这种是什么原因导致的?
和Qt没关系,和浮点数也没关系,768/1024 结果本来就是 0
这是整数除法,得出的结果为整数
请用:768./1024
或者768.0/1024.0之类的
------解决思路----------------------
double a;
int b = 7, c = 9;
a =(double) b / c;
qDebug("%02f", a);
这样才行, 你要强转一下, 不然两个整型相除的结果, 就是整型0
------解决思路----------------------
直接是去qDebug("%.2f", 1.02),格式输出就好了。你倒是先检查一下你的值对不对?
我是通过计算公式得到的一个数值,这个数值赋值给了一个变量 然后在打印输出变量,值就不对了 像你给的例子那样单独输出一个小数是可以的 但是我用768/1024 然后赋值给一个变量 再输出结果就是0.00 这种是什么原因导致的?
计算之前强制转换(float)768/1024
------解决思路----------------------
Tamce和zxd421308862都说的很正确