📅  最后修改于: 2023-12-03 15:04:44.289000             🧑  作者: Mango
在C++中,通常会使用QString作为字符串类型,但在某些情况下需要将QString转换为double类型。下面是一些方法,可以帮助您完成这个任务。
QString类提供了一个名为toDouble()的方法,将字符串值转换为double值。以下是使用该函数的示例代码:
QString str = "3.14";
double number = str.toDouble();
在此示例中,字符串“3.14”被转换为double类型的值,并存储在变量number中。
另一种将QString转换为double的方法是将QString转换为std::string,然后使用std::stod()函数将std::string转换为double。以下是使用此方法的示例代码:
#include <string>
QString str = "3.14";
std::string stdStr = str.toStdString();
double number = std::stod(stdStr);
在此示例中,QString值被转换为std::string,然后使用std::stod()函数将std::string转换为double类型的值,最后存储在变量number中。
第三种方法是将QString转换为const char*,然后使用atof()函数将const char*转换为double。以下是使用此方法的示例代码:
QString str = "3.14";
const char* charStr = str.toStdString().c_str();
double number = atof(charStr);
在此示例中,QString值被转换为const char*,然后使用atof()函数将const char*转换为double类型的值,最后存储在变量number中。
以上是三种将QString转换为double的方法。只需根据您的需求选择一种方法即可,但使用QString的toDouble()函数是最简单的方法。