0

aspxページにテキストボックスがあります

 <asp:TextBox ID="txtrandom" runat="server"></asp:TextBox>

.csページでは、そのテキストボックスから値を取得し、ループ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.How to convert it int?

4

5 に答える 5

2

以下のコードを試してください

        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();
        }

ありがとう

于 2013-10-24T04:18:37.740 に答える
1

テキストボックスを数値型として使用する必要があり、Int 変換には使用できます

 int someInt;
 int.TryParse(s, out someInt);

そのため、戻り値は変換 Int32 が成功したかどうかを示します。

于 2013-10-24T04:16:25.183 に答える
1

まず、「値を整数に変換するには、変換された値が 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();
}
于 2013-10-24T04:24:45.593 に答える
0

これらは推奨される方法です..

int anInteger;
anInteger = Convert.ToInt32(textBox1.Text);
anInteger = int.Parse(textBox1.Text);
于 2013-10-24T04:28:44.260 に答える