我使用C#
的窗体。我有一个包含button1
和textbox1
的表单。
我想要的是:当我点击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
时有任意零的组合,如何收到提醒消息?
答案 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)