问题
Good day everyone, I'm having a problem passing a numericupdown value into an interger.
private void button5_Click(object sender, EventArgs e)
{
int count = numericUpDown1.Value;
updateCount(count);
}
So, what I want to do it so pass the value of the numericupdown value into integer named count and then pass the value into a method that updates a table in my database.
I just started c# lately and cant seem to understand some some documentation.
Thank you guys!
回答1:
NumericUpDown.Value returns decimal so you need to round and convert to integer
Use this,
int count = Convert.ToInt32(Math.Round(numericUpDown1.Value, 0));
updateCount(count);
You can convert directly to the integer type if you have set Increment
to integer (no decimal points) number, otherwise it is safe to round first before conversion.
So without round
int count = Convert.ToInt32(numericUpDown1.Value);
updateCount(count);
回答2:
The issue is that the numeric value of the NumericUpDown control is decimal and you wanted to assign it to a integer type. You should do a TypeCast to assign it. For the same there is a Convert class you can use it like this
int count = Convert.ToInt32(numericUpDown1.Value);
回答3:
int count = (int)numericUpDown1.Value;
来源:https://stackoverflow.com/questions/32216708/c-sharp-numericupdown-to-pass-a-value-to-an-integer