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)
ブール値が返されるので、有効な整数を入力したかどうかを確認できます
または、いくつかのバリデーターを使用することもできます。
<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