我尝试使用QString
方法从toFloat()
获取一个浮点数,但我获取的每个数字都获得0
。我认为数字格式错误,系统无法识别,我如何为这些数字设置正确的格式:119,68648
?
答案 0 :(得分:7)
请参阅http://qt-project.org/doc/qt-4.8/qlocale.html#toDouble
以下是文档中的示例代码:
bool ok;
double d;
QLocale german(QLocale::German);
d = german.toDouble( "1234,56", &ok ); // ok == true, d == 1234.56
d = german.toDouble( "1.234,56", &ok ); // ok == true, d == 1234.56
d = german.toDouble( "1234.56", &ok ); // ok == false
d = german.toDouble( "1.234", &ok ); // ok == true, d == 1234.0
答案 1 :(得分:1)
您可以设置一个区域设置,其中小数点分隔符是您的应用程序的逗号。
或者您可以在进行转换之前用点替换逗号,以便能够接受这两种数字格式。
float value = yourString.replace(",", ".").toFloat();