繁体   English   中英

将double转换为QString

[英]Convert a double to a QString

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

使用QString的数字方法(文档在这里 ):

double valueAsDouble = 1.2;
QString valueAsString = QString::number(valueAsDouble);

而不是QString::number()我将使用QLocale::toString() ,所以我可以获得区域设置感知组seperatores像德国“1.234.567,89”。

您可以使用arg(),如下所示:

double dbl = 0.25874601;
QString str = QString("%1").arg(dbl);

这克服了以下问题:“固定精度”,其他函数如:setNum()和number(),它们将生成随机数以完成定义的精度

查看文档

引用:

QString提供了许多将数字转换为字符串和字符串转换为数字的函数。 参见ARG()函数中, setNum()函数,该数()静态函数,和toInt() , toDouble() ,和类似的功能。

基于@Kristian的回答,我希望显示一个固定数量的小数位。 这可以通过QString::number(...)函数中的其他参数来完成。 例如,我想要3个小数位:

double value = 34.0495834;
QString strValue = QString::number(value, 'f', 3);
// strValue == "34.050"

'f'指定十进制格式表示法( 此处更多信息,您也可以指定科学计数法), 3指定精度(小数位数)。 可能已在其他答案中链接,但有关QString::number函数的更多信息可以QString文档中找到

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM