2016-12-21 9 views
0

QTでC++を使用します。 私は2フロートのベクトルで保存する必要があるいくつかの値を含む文字列を持っています。 最初のベクトルに保存する必要がある値は、 ';' 2番目のベクトルに保存する必要がある値の後に ':'文字があります。 私はデリミタ文字がどこにあるのかを検出し、最初のfloatのベクトルに ':'と ';'の間の文字を保存する必要があります。第2のベクトルにおいて、 ':'と ';'との間の文字は、QStringを分割して浮動小数点のベクトルに文字列の一部を保存する方法

私を助けることができますか?

私のQStringの例:10; 2:56; 12:10; 89:私が望む

ベクトル:最初:10,56,10 秒:2,12,89

+0

.toFloat()メソッドを介して浮いているように、それを変換する必要がありますので.AT(N)メソッドは のQStringを返しますか?あなたはそれを支払うつもりですか? – Ripi2

答えて

0

最初はQStringの.splitメソッドで分割しなければなりません。splitメソッドの結果はQStringListオブジェクトであるため、.at(N)メソッドで分割リテラルにアクセスできます。 最初の番号グループにアクセスした後、再び分割して各パートに個別にアクセスする必要があります。あなたは誰があなたの仕事をしている場合、あなたは何を貢献しない

QString str = "10;2:56;12:10;89:"; 
QStringList strSplited = str.split(':'); 
QString numberGroup = strSplited.at(0); 
float ac = numberGroup.split(';').at(0).toFloat(); 
float bc = numberGroup.split(';').at(1).toFloat(); 
+0

ありがとうございました!私は今それを試してください! :) –

関連する問題