我很难把数字转换成字符串并保留所有的小数位。在下面的代码中,平面和flon都被声明为双,并且有6位小数点(平面= 32.447134),(flon = -100.136468)。使用QString::number (平面= 32.4471)和(flon = -100.136)进行转换后。这些是gps坐标,所以保持小数点的位置是非常重要的。
如果我把flon缩短到-99.136468,它在转换后保留了4位小数,所以看起来必须限制字符串的长度为8个字符。我需要11。
我如何转换它们并保留所有的小数位呢?
我尝试过"QString::number(long n,int = 10)“以及QT文档中的其他内容,但是当我尝试运行时会得到语法和其他错误。
提前感谢!
if (ui -> northeast -> isChecked())
{
flat = flat + .00007;
flon = flon + .00007;
lo = QString::number(flon);
la = QString::number(flat);
QString ll = la + "," + lo;
ui -> gps_latlon -> setText(ll);
}发布于 2015-12-31 01:46:36
您正在使用QString::number的重载
QString QString::number(double n, char format, int precision)因此,传递正确的格式和所需的精度。
这样做吧:
str = QString::number(flat, 'f', 6);如果你想知道f是什么意思,看看这里。
https://stackoverflow.com/questions/34539344
复制相似问题