我正在QT写一个程序。我想在C ++中将double
转换为Qstring
。
答案 0 :(得分:79)
使用QString的数字方法(文档为here):
double valueAsDouble = 1.2;
QString valueAsString = QString::number(valueAsDouble);
答案 1 :(得分:16)
而不是QString::number()
我会使用QLocale::toString()
,所以我可以获得区域设置感知组seperatores,如德语“1.234.567,89”。
答案 2 :(得分:8)
您可以使用arg(),如下所示:
double dbl = 0.25874601;
QString str = QString("%1").arg(dbl);
这克服了以下问题:“固定精度”,其他函数如:setNum()和number(),它们将生成随机数以完成定义的精度
答案 3 :(得分:3)
引用:
QString提供了许多功能 将数字转换为字符串和 字符串成数字。查看arg() 函数,setNum()函数, number()静态函数和 toInt(),toDouble()等 功能
答案 4 :(得分:2)
基于@Kristian的回答,我希望显示固定数量的小数位。这可以通过double value = 34.0495834;
QString strValue = QString::number(value, 'f', 3);
// strValue == "34.050"
函数中的其他参数来完成。例如,我想要3个小数位:
'f'
3
指定十进制格式表示法(更多信息here,您还可以指定科学记数法),QString::number
指定精度(小数位数)。可能已在其他答案中链接,但可以找到有关{{1}}功能的更多信息here in the QString
documentation