我是C#的新用户,但他学会了制作小型简单游戏。所以我很开心并以这种方式训练C#。
但是,现在我需要将移动物体速度改变0.2,所以我可以使用间隔来改变速度,而不会使物体发出声音。我正在使用'int'值来设置对象的速度值。我的物体每毫秒移动2个像素(1/1000秒)。我尝试过用2乘以,但是这样做了一两次后,对象会移动得那么快,它们就会出错。
查看网站上的其他问题,但找不到任何内容,这似乎可以帮助我。
所以:
是否可以创建一个包含十进制值的'int'?
如果是,那么如何在不冒犯罪的情况下制作呢?
提前致谢!
答案 0 :(得分:8)
是否可以创建一个包含十进制值的'int'?
不,类型int
的变量只能包含整数。在C#和CLR的世界中,int
是可以用32位表示的任何整数。没有更少,仅此而已。但是,十进制值可以用整数表示,请参阅下面的更新和注释,
在您的情况下,我认为float
或double
可以胜任。 (我没有提及decimal
,因为我们使用decimal
进行财务计算。
<强>更新强>
以下评论的一个重要结果来自mike-wise,事实是float
可以用整数表示,实际上这是计算机获得浮点寄存器之前的情况。迈克对此做出的另一个贡献是我们可以在The Art of Computer Programming第2卷第4章中找到更多相关信息。
答案 1 :(得分:0)
如果你想只有整数部分,如果需要也有一个小数,你可以使用float(或double)并强制转换为int