double d_size_1 = 1.256;
QString q_size_1 = QString::number(d_size_1, 'f', 2);
结果:1.26
double d_size_2 = 1.254;
QString q_size_2 = QString::number(d_size_2, 'f', 2);
结果:1.25
double d_size_3 = 1.255;
QString q_size_3 = QString::number(d_size_3, 'f', 2);
结果:1.25
如上,是将double类型进行四舍五入之后,保留小数点后两位。那么1.255为什么最后会变成1.25,而不是1.26呢?因为double类型的1.255其实是1.254999999.....
所以你的程序可以写成这样:
double d_size_4 = 0.0;
QString q_size_4 = QString::number(d_size_4, 'f', 1);
结果:0.0