新 C# 程序员 - 将两个 numericUpDown 值相加?
我对 C# 编程相当陌生。
我正在制作一个有趣的程序,将两个数字相加,然后在消息框中显示总和。 我的表单上有两个 numericUpDowns 和一个按钮。 当按下按钮时,我希望它显示一个带有答案的消息框。
问题是,我不确定如何将 numericUpDowns 中的 twp 值添加在一起。
到目前为止,我的按钮事件处理程序中有这个:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(this.numericUpDown1.Value + this.numericUpDown2.Value);
}
但显然,它不起作用。 它给了我 2 个编译器错误: 1. 'System.Windows.Forms.MessageBox.Show(string) 的最佳重载方法匹配有一些无效参数 2. 参数“1”:无法将十进制转换为“字符串”
谢谢!
I'm fairly new to C# programming.
I am making a program for fun that adds two numbers together, than displays the sum in a message box. I have two numericUpDowns and a button on my form. When the button is pushed I want it to display a message box with the answer.
The problem is, I am unsure how to add the twp values from the numericUpDowns together.
So far, I have this in my button event handler:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(this.numericUpDown1.Value + this.numericUpDown2.Value);
}
But obviously, it does not work. It gives me 2 compiler errors:
1. The best overloaded method match for 'System.Windows.Forms.MessageBox.Show(string) has some invalid arguments
2. Argument '1': cannot convert decimal to 'string'
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这有效。
MessageBox.Show 需要一个字符串作为参数(这是第一条错误消息)。
This works.
MessageBox.Show expects a string as a parameter (that's the first error message).
试试这个:
它从 numericUpDown 组件中获取值并将它们相加以获得
Decimal
类型的对象。 然后将其转换为 MessageBox 所采用的字符串。Try this:
It takes the values from the numericUpDown components and adds them to get an object of the type
Decimal
. This is then converted to a String, which MessageBox takes.现在这很容易了。 NumericUpDown.Value 有一个类型十进制。
Messagebox.Show()
需要一个字符串。 您所需要做的就是将加法结果转换为字符串。
Now that's easy. NumericUpDown.Value has a type of Decimal.
Messagebox.Show()
expects a String. All you need to do isto convert the result of the addition to a string.
this.numericUpDown1.Value + this.numericUpDown2.Value
实际上正确地评估了一个数字,所以你实际上非常接近。 问题是MessageBox.Show()
函数需要一个字符串作为参数,而您给它一个数字。要将结果转换为字符串,请添加
.ToString()
。 例如:作为参考,如果您想要进行更高级的格式化,您需要使用
String.Format()
而不是ToString()
。 有关如何使用String 的详细信息,请参阅此页面 .Format()
。this.numericUpDown1.Value + this.numericUpDown2.Value
is actually evaluating properly to a number, so you're actually very close. The problem is that theMessageBox.Show()
function, needs a string as an argument, and you're giving it a number.To convert the result to a string, add
.ToString()
to it. Like:For reference, if you want to do more advanced formatting, you'd want to use
String.Format()
instead ofToString()
. See this page for more info on how to useString.Format()
.