double value = 123.45;
qDebug() << QString().setNum(value, 'f', 1); // 123.5
value = 123.00;
qDebug() << QString().setNum(value, 'f', 1); // 123.0
第一个没问题,达到预期效果
第二个,我想让小数点后是0的话就不显示".0"了,而显示123,应该怎么转换
------解决方案--------------------
只能改第三个参数了。
用QString::number(value);也可以实现你的效果。
------解决方案--------------------
int num = int(float_num*10.0%10.0);
if(num == 0) qDebug()<<QString("%1").arg(int(float_num));
else qDebug()<<QString().setNum(float_num, 'f', 1);