如何检查文本框是否仅包含零并显示警告消息?

时间:2015-11-22 15:11:45

标签: c# string string-matching

我使用C#的窗体。我有一个包含button1textbox1的表单。

我想要的是:当我点击button1时,如果textbox1包含任何零或零(仅限零的任意组合),则显示警告消息:

0
00
0000
000
000000000

我尝试了以下代码,但如果textbox1有多个零(例如000)

,则无效
private void button1_Click(object sender, EventArgs e)
{    
    if (textBox1.Text == "0")
        MessageBox.Show("Enter Value larger than zero);
}

如果textbox1在点击button1任意零的组合,如何收到提醒消息?

7 个答案:

答案 0 :(得分:4)

您可以通过执行以下操作来修剪0个字符:

var text1 = "00000000";
var text2 = "00009000";

Console.WriteLine("Text1: {0}", string.IsNullOrWhiteSpace(text1.Trim('0')));
Console.WriteLine("Text2: {0}", string.IsNullOrWhiteSpace(text2.Trim('0')));

返回:

  

Text1:true

     

Text2:false //因为我们在文本中间有9个。

在您的代码中,您将拥有以下内容:

private void button1_Click(object sender, EventArgs e)
{    
     if (string.IsNullOrWhiteSpace(textBox1.Text.Trim('0'))
           MessageBox.Show("Enter Value larger than zero");
}

答案 1 :(得分:3)

您可以检查字符串是否仅包含这样的零(0)

var str = "000000000";
var isZero = str.All(c => c == '0');

Regex

var isZeroWithRegex = Regex.IsMatch(str, "^0+$");

答案 2 :(得分:2)

int value = Convert.ToInt32(textBox1.Text);
if(value ==0)
{
//show
}
else
{
//do something else
}

您可以将值转换为整数来执行此操作。您可能需要为字符串检查等添加一些验证。

答案 3 :(得分:2)

如果问题表明你想知道文本框中是否有任何零。最简单的方法是

self

但是,如果您想确保该值大于零,则将其转换为int并检查。

if (textBox1.Text.Contains("0"))
        MessageBox.Show("Enter Value larger than zero);

答案 4 :(得分:1)

你可以使用:

int convertedText=Convert.ToInt32(textBox1.Text);
if(convertedText==0)
{
...
}

答案 5 :(得分:1)

要做到这一点:

private void button1_Click(object sender, EventArgs e)
{    
           if ( int.Parse(textBox1.Text) == 0)

            MessageBox.Show("Enter Value larger than zero");
}

这会将字符串转换为int,而00,000,0000等等等于0。

答案 6 :(得分:1)

我会按照自己的方式解释。首先,我要替换所有" 0"一个比检查长度,因为如果这个文本有" 0"多个长度不等于0否则长度必须为0

if(textBox1.Text.Replace("0","").Length==0)