在C#中递增十进制数

Mar*_*rty 2 c# floating-point numbers

我正在学习XNA(C#)的初学者教程,并且在学习了渲染和定位,并拥有自己的游戏开发经验后,我已经朝着自己的方向转向.

我正努力VelocityY在我班上建一个房产Ship.我希望能够通过十进制值递增此值,即:

VelocityY += 0.45;
Run Code Online (Sandbox Code Playgroud)

我认为这float是所需的类型,但是当我尝试编译时,我得到了这个错误:

double类型的文字不能隐式转换为'float'类型; 使用'F'后缀来创建此类型的文字.

我不确定第一部分是什么意思,double因为据我所知,我还没有充分利用.VelocityY声明如下:

public float VelocityY = 0;
Run Code Online (Sandbox Code Playgroud)

我尝试使用double,甚至int相反,但我仍然无法通过非整数增加.整数都很好.

Jon*_*eet 7

文字0.45的类型是double.如果你想让它成为一个浮点数,请使用后缀f或者F,就像编译错误所说:

VelocityY += 0.45F;
Run Code Online (Sandbox Code Playgroud)

基本上,如果您没有为包含小数点的文字指定后缀,则它是隐式的double.您可以使用后缀使其明确:

decimal a = 0.45M;
float b = 0.45F;
double c = 0.45D;
Run Code Online (Sandbox Code Playgroud)