所以我正在尝试制作一个简单的 CSGO 项目值到键值计算器。我是一个初学者程序员,我收到了这个错误。在谷歌搜索这个错误之后,我似乎找不到问题所在。任何人都可以提供帮助?
private void button1_Click(object sender, EventArgs e)
{
int itemValue = int.Parse(textBox1.Text);
int Keys = itemValue * 0.8 / 2.15;
label2.Text = "Value of item in keys:" + Keys;
}
Run Code Online (Sandbox Code Playgroud)
我有点难过这个问题被否决了。是的,这是一个简单的问题,很可能已经在这里得到了解答,但是作为该语言的新手,您怎么知道要搜索什么?:)
有关强制转换和类型转换的说明以及与您的问题类似的示例,请参阅本文。
错误就行了int Keys = itemValue * 0.8 / 2.15;。这看起来很简单,但它有几个部分。让我们分解一下。
int Keys
第一部分是变量声明。您正在声明一个名为Keys. 它的类型是int. 很简单。
第二部分是赋值运算符=。它在说“我想Keys成为这个价值”。再次,非常简单。
第三部分是对 右边的所有内容的评估=,归结为一些带小数的数字,对吗?
您的问题是您已声明Keys为int,但itemValue * 0.8 / 2.15类型为double,这是一种不同的数字格式,无法转换为整数(程序将如何处理数字的小数部分?)。
因此,您需要声明Keys为“ double Keys”,以便它可以存储您的结果,或者您需要从您的十进制数中获取一个整数值。您可以通过强制转换或使用类中的Round、Ceiling、 或Floor方法来做到这一点Math。