将文本框字段检索为整数,该整数可用于 循环
本文关键字:整数 用于 for 循环 文本 字段 检索 | 更新日期: 2023-09-27 18:36:50
在aspx页中,我有一个文本框
<asp:TextBox ID="txtrandom" runat="server"></asp:TextBox>
.cs页面中,我正在从该文本框中检索 te 值并将其转换为int
以便可以在for
循环中使用。
在.cs页面中
int random;
random = Convert.ToInt16(txtrandom.Text);
for (int i = 0; i < random; i++)
{
//other code
}
但是当我被执行时,它会给出错误Input string was not in correct format
.如何将其转换为int
?
请尝试以下代码
int random=0;
bool isValidInt = int.TryParse(txtrandom.Text, out random);
if (isValidInt)
{
for (int i = 0; i < random; i++)
{
//other code
}
}
else
{
Response.Write("Please enter valid int value in textbox.");
txtrandom.Focus();
}
谢谢
首先,您需要了解"将值转换为整数必须需要转换后的值是 int 类型"。在文本框中输入的值是一种字符串类型,因此它可以是任何类型。
因此,首先您需要检查有效的 INT 值。为此,您需要这样做
int random = 0;
bool isValidInt = int.TryParse(txtrandom.Text, out random);
如果转换成功,则可以使用现在有效的整数值random
代码将如下所示(参考:Hitesh的答案)
if (isValidInt)
{
for (int i = 0; i < random; i++)
{
//other code
}
}
else
{
Response.Write("Please enter valid int value in textbox.");
txtrandom.Focus();
}
您应该使用文本框作为数字类型,对于 Int 转换,您可以使用
int someInt;
int.TryParse(s, out someInt);
所以返回值 inincin 是否转换 Int32 成功。
这些是推荐的方法。
int anInteger;
anInteger = Convert.ToInt32(textBox1.Text);
anInteger = int.Parse(textBox1.Text);
首先,您需要确保在该文本框中仅输入数字。 这样您在将其转换为整数值时就不会遇到任何异常。
使用regular expression validator
确保验证表达式only Integers are entered into that Textbox
^[0-9]+$
此外,您需要在使用哪种数据类型上保持一致。使用Int32
然后
if(!Textbox1.Text.Equals("")) // you can take care of "" by using required field validator
{
Int32 random = Convert.ToInt32(Textbox1.Text);
}
现在相应地使用此值。