如果QString包含一个数字

时间:2017-12-05 08:51:23

标签: c++ string qt qstring

我想知道一个字符串是否包含'1'或'0'所以我写了这段代码:

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

如果我输入“014”,它会运行if块,但如果我输入“4”则运行else块。怎么了?

1 个答案:

答案 0 :(得分:1)

男人这个功能BinToDec是一场灾难。

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