1

QStringusingtoFloat()メソッドからfloat数値をフェッチしようとしましたが、フェッチする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 に答える