我正在使用Qt编写程序。我想在C++中将一个double
转换为QString
。
使用 QString 的 number 方法(文档在这里):
double valueAsDouble = 1.2;
QString valueAsString = QString::number(valueAsDouble);
std::stringstream ss; ss << std::setprecision( 12 ); ss << (double)value;
。在这个东西里如何标记代码块? - Paulo Carvalho我会使用QLocale::toString()
,而不是QString::number()
,这样可以获得基于语言环境的分组分隔符,例如德语中的“1.234.567,89”。
在@Kristian的回答基础上,我希望显示一个固定数量的小数位。这可以通过QString :: number(...)
函数中的其他参数来实现。例如,我想要3个小数位:
double value = 34.0495834;
QString strValue = QString::number(value, 'f', 3);
// strValue == "34.050"
'f'
指定了十进制格式表示法(更多信息在此处,您还可以指定科学计数法),3
指定精度(小数位数)。可能已经在其他答案中链接过,但有关QString::number
函数的更多信息可以在QString
文档中此处找到。
double dbl = 0.25874601;
QString str = QString("%1").arg(dbl);