在c#中递增十进制数
本文关键字:十进制数 | 更新日期: 2023-09-27 18:17:42
我正在学习XNA (c#)的初学者教程,一旦我学会了渲染和定位,我就偏离了自己的方向,有了自己的游戏开发经验。
我想在我的类Ship
上创建一个属性VelocityY
。我希望能够以十进制的值来增加这个值,例如:
VelocityY += 0.45;
我认为float
是这里需要的类型,但是当我尝试编译时,我得到这个错误:
double类型的字面量不能隐式转换为float类型;使用'F'后缀来创建这种类型的文字。
我不太确定第一部分是什么意思,因为我还没有利用double
据我所知。VelocityY
的声明如下:
public float VelocityY = 0;
我尝试使用double
甚至int
代替,但我仍然不能增加非整数。
字面值0.45的类型为double
。如果你想让它成为浮点数,使用后缀f
或F
,就像编译器错误提示:
VelocityY += 0.45F;
基本上,如果不为包含小数点的字面值指定后缀,则隐式为double
。您可以使用后缀使其显式:
decimal a = 0.45M;
float b = 0.45F;
double c = 0.45D;
你应该改变
public float VelocityY = 0;
to
public double VelocityY = 0;
或
VelocityY += 0.45;
to
VelocityY += 0.45F;
默认情况下,你给出的0.45或0.68的值在c#环境中都是双值,但在这里你需要告诉编译器你给出的数字是浮点数,并在其后面加上后缀F
。