数字功能具有文本框中显示的数字引起的数字



我有文本框和numericupdown的问题。我从第一个textbox1(indbox)加上numericupdown1的数字中获取值,然后在另一个textbox2中显示结果。

我需要在第一个文本框中使用编号40000,但是在结果文本框中,我有4000(三个零,而不是四个),直到我更改numericUpdown的值。只有在更改值之后,我才能在价值中正确计数数字。我在第一个文本框中使用textchanged事件。和下一个代码:

    private void indBox_TextChanged(object sender, EventArgs e) //
    {
        try
        {
            textBox3.Text = Convert.ToString( Convert.ToInt16(indBox.Text) + Convert.ToInt16(numericUpDown1.Value));
        }
        catch (Exception)
        {
            toolStripStatusLabel1.Text = "Can not calculate";
        }
    }

请帮忙!谢谢你!:)

Int16的最大值为 32,76740,000超过最大值。

使用Int32

textBox3.Text = (int.Parse(indBox.Text) + (int)numericUpDown1.Value).ToString();

https://msdn.microsoft.com/en-us/library/system.int16.maxvalue(v = vs.110).aspx

40000大于Int16最大值(32767)。您可以使用Int32,它可以存储高达2147483647的值:

textBox3.Text = Convert.ToString(Convert.ToInt32(indBox.Text) + Convert.ToInt32(numericUpDown1.Value));

最新更新