2012-04-08 24 views
1

からfloat番号を取得しようとしましたが、取得する数値は0になります。toFloat()メソッドを使用しています。私は数字の形式が間違っていると思うし、システムがそれを認識しない、どのように私はこれらの種類の数字の正しい形式を設定することができます:119,68648Qtのコンマ付き数値

答えて

6

ここ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

小数点記号がアプリケーションのカンマであるロケールを設定できます。

または両方の数値書式を受け入れることができるように変換を行う前に、カンマをドットで置き換えることができます。

float value = yourString.replace(",", ".").toFloat(); 
+0

あなたが例またはリンクを提供することができますか? –

+0

@dev例を追加しました。 – alexisdm

関連する問題