QString
我尝试从using方法中获取浮点数,toFloat()
但我获取0
的每个数字都得到了。我认为数字格式错误并且系统无法识别它,我该如何为这些数字设置正确的格式:119,68648
?
user704010
问问题
8121 次
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 回答