2017-12-05 6 views
-4

含まれている場合:私は、「014」に置く場合QStringのは、私は、文字列が「1」または「0」ので、私はこのコードを書いた含まれているかどうかを知りたい数

if ((input.contains('0'))||(input.contains('1'))) { 
     ui->answerbox->setText(QString::number(BinToDec(number))); 
    } 
    else { 
     ui->answerbox->setText("Error"); 
    } 

、それがあればブロックを実行します私が "4"を置くと、それはelseブロックを実行します。どうしましたか?

+5

何も問題ありません。第2の文字列には、「1」または「0」が含まれていないため、elseブロックが実行されます。コードが何をすると期待していましたか? –

+0

何が問題なのですか? "4"には0または1は含まれません。 – aatwo

+0

タイトルは数字について言いますが、 '1'と '0'のみをチェックします。正確に何が必要ですか? – vahancho

答えて

1

男この機能はBinToDecです。

bool success; 
auto value = input.toInt(&success, 2); 
if (success) { 
    ui->answerbox->setText(QString::number(value)); 
} 
else { 
    ui->answerbox->setText("Error"); 
} 
関連する問題