c++/cli 检查值是否为数字

标签 c++ if-statement c++-cli

我制作了一个带有 3 个文本框的 Windows 窗体应用程序。为了使程序正常工作,我需要在所有三个文本框中填充一个数字。它们可以是正数或负数。

我用过这个:

if(this->textBox1->Text=="" || this->textBox2->Text=="" || this->textBox3->Text=="") {
    MessageBox::Show("Error");
}
else {
    // continue with the program...
}

检查框是否已填满,但如果有符号(如字母或其他不同于数字的符号),我无法弄清楚如何显示错误消息。

最佳答案

我假设您真的想对这些数字做些什么?

所以测试转换失败:

int number1;
if (!int::TryParse(textBox1->Text, number1)) {
    MessageBox::Show("First box wasn't an integer");
    return;
}

double number2;
if (!double::TryParse(textBox2->Text, number2)) {
    MessageBox::Show("Second box wasn't numeric");
    return;
}

最后,您在计算中使用了数字 number1number2

您不再需要对空字符串进行单独测试,因为如果输入为空,TryParse 将返回 false。

关于c++/cli 检查值是否为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19349610/

相关文章:

c++ - 如何通过参数包传递引用?

c++对象数组,初始化失败

javascript - 更改 If - Else 函数以返回多个值?

java - 如果一个或多个变量小于0,如何使if语句不执行并转到else if语句?

struct - 错误 C3767 : candidate function(s) not accessible Visual Studio 2010

c++-cli - 如何创建包含按值传递的 List(或类似)的 CLI 值类?

c++ - 如何从指针中获取数组的长度?

c++ - 在哪里放置 CMake 宏定义?

matlab - 是否可以根据用户输入禁用 'for' 循环?

visual-studio-2019 - C++/CLI 库 .NETFramework 到 .Net 标准