Qt中逗号的数字

时间:2012-04-08 19:45:48

标签: qt qt4 qstring

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

2 个答案:

答案 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();