将double转换为QString

时间:2011-05-09 18:22:30

标签: c++ qt

我正在QT写一个程序。我想在C ++中将double转换为Qstring

5 个答案:

答案 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)

查看documentation

引用:

  

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