浮点转字符串的有关问题

浮点转字符串的问题double value 123.45qDebug() QString().setNum(value, f, 1)// 123.5value

浮点转字符串的问题


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);