是否可以制作一个' int'在C#中使用十进制值?

时间:2015-04-19 21:35:22

标签: c# decimal

我是C#的新用户,但他学会了制作小型简单游戏。所以我很开心并以这种方式训练C#。

但是,现在我需要将移动物体速度改变0.2,所以我可以使用间隔来改变速度,而不会使物体发出声音。我正在使用'int'值来设置对象的速度值。我的物体每毫秒移动2个像素(1/1000秒)。我尝试过用2乘以,但是这样做了一两次后,对象会移动得那么快,它们就会出错。

查看网站上的其他问题,但找不到任何内容,这似乎可以帮助我。

所以:

是否可以创建一个包含十进制值的'int'?

如果是,那么如何在不冒犯罪的情况下制作呢?

提前致谢!

2 个答案:

答案 0 :(得分:8)

  

是否可以创建一个包含十进制值的'int'?

不,类型int的变量只能包含整数。在C#和CLR的世界中,int是可以用32位表示的任何整数。没有更少,仅此而已。但是,十进制值可以用整数表示,请参阅下面的更新和注释,

在您的情况下,我认为floatdouble可以胜任。 (我没有提及decimal,因为我们使用decimal进行财务计算。

<强>更新

以下评论的一个重要结果来自mike-wise,事实是float可以用整数表示,实际上这是计算机获得浮点寄存器之前的情况。迈克对此做出的另一个贡献是我们可以在The Art of Computer Programming第2卷第4章中找到更多相关信息。

答案 1 :(得分:0)

如果你想只有整数部分,如果需要也有一个小数,你可以使用float(或double)并强制转换为int