正在添加文本框值
本文关键字:文本 添加 | 更新日期: 2023-09-27 17:52:54
在使用c#的Asp.net中,我有
int sum = Convert.ToInt32(txtbox1.Text) + Convert.ToInt32(txtbox2.Text);
当我有一个空的文本框时,我会得到错误"输入字符串的格式不正确"。
所以,我想知道是否有一种简单的方法可以添加文本框值——如果不将文本框值设为0,那么它们就是整数。
提前感谢!
您可以使用Int32.TryParse方法
MSDN 文档
您可以将TextBox
的默认值设置为0
,也可以使用TryParse
:
int val1, val2;
Int.TryParse(txtbox1.Text,out val1));
Int.TryParse(txtbox2.Text,out val2));
int sum = val1 + val2;
请注意,如果解析失败,则不需要将值设置为0,因为它们无论如何都是0。然而,如果你想明确一点:
int val1, val2;
if(!Int.TryParse(txtbox1.Text,out val1))) val1 = 0;
if(!Int.TryParse(txtbox2.Text,out val2))) val2 = 0;
int sum = val1 + val2;
int integer;
Int32.TryParse(Textbox1.Text, out integer)
int integerSecond
Int32.TryParse(Textbox2.Text, out integerSecond)
它将返回一个bool,这样你就可以看到他们是否输入了一个有效的整数
或者,您也可以使用一些验证器:
<asp:CompareValidator runat="server" Operator="DataTypeCheck" Type="Integer"
ControlToValidate="ValueTextBox" ErrorMessage="Value must be a whole number" />
如果有一个特定的有效值范围(可能有(,那么您可以使用RangeValidator,如下所示:
<asp:RangeValidator runat="server" Type="Integer"
MinimumValue="0" MaximumValue="400" ControlToValidate="ValueTextBox"
ErrorMessage="Value must be a whole number between 0 and 400" />
为这个编写一个扩展方法
public static int NullOrEmptyToZero(this string s)
{
return string.IsNullOrEmpty(s)? 0: ConvertToInt32(s);
}
并像这样使用:
int sum = txtbox1.Text.NullOrEmptyToZero() + txtbox2.Text.NullOrEmptyToZero();
使用try-parse确保文本框包含有效的输入(即或将输入限制为仅数字(。
int x, y, result;
if (int.TryParse(txtbox1.Text, x)
{
if (int.TryParse(txtbox2.Text, y)
{
result = x + y;
}
else
//error message
}
else
// error message
使用TryParse。。
int iFirstVal= 0;
int iSecondVal= 0;
int.TryParse(txtbox1.Text, out iFirstVal))
int.TryParse(txtbox2.Text, out iSecondVal))
int sum = iFirstVal + iSecondVal