如果文本框中的数字大于
本文关键字:数字 大于 文本 如果 | 更新日期: 2023-09-27 17:51:16
好的,如果我有这个代码,我需要帮助,我想知道是否有办法检测数字是否大于文本框中的数字?
if (textbox1.text == "2")
{
//code
}
我想知道有没有办法检测这个数字是否大于这个数字,比如说textbox1.text = "5"
,它大于2,所以它从if命令中执行代码?
int value;
if (Int32.TryParse(textbox1.Text, out value))
{
if (value > 2)
// code
}
else
{
// not a number in textbox
}
实际应用示例:
TimeSpan timeOfDay = DateTime.Now.ToLocalTime().TimeOfDay;
if (8 < timeOfDay.Hours && timeOfDay.Hours < 16)
{
// day
}
else
{
// night
}
您可以创建扩展方法:
public static bool IsDayTime(this DateTime date)
{
TimeSpan timeOfDay = date.TimeOfDay;
return 8 < timeOfDay.Hours && timeOfDay.Hours < 16;
}
并以这种方式使用:
var date = DateTime.Now.ToLocalTime();
var file = Path.Combine(Folder, date.IsDayTime() ? "Day.bmp" : "Night.bmp");
picThumbnail.ImageLocation = file;
picThumbnail.SizeMode = PictureBoxSizeMode.Zoom;
SystemParametersInfo(20, 0, file, 0x01 | 0x02);
var rkWallPaper = Registry.CurrentUser.OpenSubKey("Control Panel''Desktop", true);
rkWallPaper.SetValue("WallpaperStyle", 2);
rkWallPaper.SetValue("TileWallpaper", 0);
rkWallPaper.Close();
分析文本值,然后检查…
if(Convert.ToInt32(Textbox.Text) > 2) { //Do something here }
if(Int32.Parse(textbox1.text) < number)
{
// code
}
并捕获无效值情况下的任何异常。或者使用TryParse
,它有一个out
参数并返回一个数字是否被实际解析。
您需要将文本解析为数字,然后才能执行您想要的操作。
C#的Int32类有一个TryParse方法,你可以这样使用:
bool result = Int32.TryParse(textbox1.text, out number);
if (number > 2)
{
...
}
这是一个具有输入值和输出值的方法。bool
结果实际上是解析输入值的尝试("尝试"(是否有效的指标,您可以按照如下方式使用它:
bool result = Int32.TryParse(textbox1.text, out number);
if (result)
{
// the parse worked
// do something with 'number'
}
else
{
Messagebox.Show(string.Format("Could not convert {0} to a number", textbox1.text));
}