我有一个项目需要使用getX和getY在一个坐标上移动玩家,但是,我对如何将getX和getY从double转换为int感到困惑,所以我可以在绘图面板中播放它们。
答案 0 :(得分:0)
你想把你的双重视为int,但是你需要注意你的投射方式,因为如果你想让你的动作准确你想要x.5及以上的值被四舍五入并且值低于x.5向下舍入。
转换将始终向下舍入,因此正确舍入的一种好方法是在转换为int之前将.5添加到所有双打。
以下是一些例子
{
"took": 9,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 2077,
"max_score": 1,
"hits": [
{
"_index": "xxx",
"_type": "xxx",
"_id": "xxxx",
"_score": 1,
"fields": {
"a": [
0
],
"b": [
"xyz"
]
}
}
]
}
}
使用我们的方法可以看看这两个双打将如何投放
double = 1.1
int (double) = 1
double = 1.7
int (double) = 1 \\ Note that we will likely want this to be 2
请注意,现在我们的高于x.5的双打将被正确地舍入。
答案 1 :(得分:0)
只需转换为int将截断double。因此,在决定如何获取int之前,需要指定您真正想要的结果。例如,如果double值为2.999,您希望int为2还是3?
如果你想要最接近的int(上面的3),那么使用返回long的Math.round(d)。