为什么我不能在同一语句中将 int 传递给 float?
Why can't I pass a int to a float in the same statement?
我试图从我的 int
语句中获取一个 float
语句,因为在我的游戏中,精灵使用 float
来获取它所在位置的坐标在。然而,瓦片地图使用 int
来获取瓦片的位置。为什么不能在同一语句中使用 int
和 float
,如果答案很明显,您如何更改它而不必在其他方法中使用强制转换?
您不能将 float
值分配给 int
变量,因为某些信息将会丢失。出于同样的原因,您不能将 float
值传递给参数声明为 int
的方法。 (由于术语使用不正确,您的问题相当不清楚,但我认为您正在尝试做后者)
您可以通过强制转换操作告诉编译器您确实想要丢失信息(浮点数的小数部分)。这就是方法和原因。
我试图从我的 int
语句中获取一个 float
语句,因为在我的游戏中,精灵使用 float
来获取它所在位置的坐标在。然而,瓦片地图使用 int
来获取瓦片的位置。为什么不能在同一语句中使用 int
和 float
,如果答案很明显,您如何更改它而不必在其他方法中使用强制转换?
您不能将 float
值分配给 int
变量,因为某些信息将会丢失。出于同样的原因,您不能将 float
值传递给参数声明为 int
的方法。 (由于术语使用不正确,您的问题相当不清楚,但我认为您正在尝试做后者)
您可以通过强制转换操作告诉编译器您确实想要丢失信息(浮点数的小数部分)。这就是方法和原因。