私は xml ファイルから読み込んでおり、データを double に解析しようとしています。データを読み取り、アプリケーションの出力に適切な文字列を表示しますが、文字列から double に変換しません。これは、変換を行うコードのセクションです。
if ( !(imgDur = QString ( xmlReader->readElementText() ).toDouble()) ){
imgDur = 10;
}
これは数値 0 を返します。エラーはゼロで、コードはコンパイルされます。なぜこれがうまくいかないのですか?ありがとうございました。
XML ファイルを読み取るループ全体
//Parse the XML until we reach end of it
while(!xmlReader->atEnd() && !xmlReader->hasError()) {
// Read next element
QXmlStreamReader::TokenType token = xmlReader->readNext();
//If token is just StartDocument - go to next
if(token == QXmlStreamReader::StartDocument) {
continue;
}
//If token is StartElement - read it
if(token == QXmlStreamReader::StartElement) {
if(xmlReader->name() == "time_delay") {
qWarning() << xmlReader->readElementText(); // OUTPUTS 15
if ( !(imgDur = QString (xmlReader->readElementText()).toDouble() ) ){
qWarning() << "AS AN DOUBLE" << imgDur; // OUTPUTS 0
imgDur = 10;
}
}
if(xmlReader->name() == "value") {
qWarning() << xmlReader->readElementText(); // OUTPUTS 8
}
}
}