我99%完成了我的程序,但是对于一部分我需要将某个值(一个int)减少90%。最初我想哦,我可以将它乘以0.1,这样就可以了。但我不能,因为减少90%的价值在减少90%后仍需要成为一个整数。
这就是我所拥有的,但由于上述原因,它不起作用。
s2.increaseAltitude(0.1*(s2.getAltitude()));
所以我的问题是我不知道如何将值减少90%,但保持整数。
答案 0 :(得分:0)
最简单的方法是将操作结果转换为int
:
s2.increaseAltitude((int)(0.1*(s2.getAltitude())));
但是这会将结果向下舍入,因为将double
转换为int
会截断小数部分。
如果您想/需要向上或向下舍入,则可以使用Math.round()
:
s2.increaseAltitude((int)(Math.round(0.1*(s2.getAltitude()))));
答案 1 :(得分:0)
计算后舍入它怎么样:
s2.increaseAltitude((int) (0.1*(s2.getAltitude()) + .5));