1

QString我尝试从using方法中获取浮点数,toFloat()但我获取0的每个数字都得到了。我认为数字格式错误并且系统无法识别它,我该如何为这些数字设置正确的格式:119,68648

4

2 回答 2

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
于 2012-04-08T19:56:49.643 回答
1

您可以为应用程序设置小数分隔符为逗号的语言环境。

或者,您可以在进行转换之前用点替换逗号,以便能够接受这两种数字格式。

float value = yourString.replace(",", ".").toFloat();
于 2012-04-08T19:49:48.243 回答