How do I round to the nearest ten?
如果没有if语句,如何将数字四舍五入到最接近的10?例如,98到100。
1 2 3 4 5
| int num = 87;
double t ;
double d = 1.0 * num ; // d = 87.0
t = d /100;
System. out. println(t ); |
- 重复/类似:stackoverflow.com/questions/9303604/…
1
| answer = ((num+5)/10)*10; // if num is int |
如果num是int,为了有更多的想法,请阅读这个问题。如何在Java中把数字转换成小数位数。编辑:如果num是double,那么按照@peterlawrey的建议,在表达式(long)((num+5)/10)中添加类型转换。
- 你确定?如果num为14.0,则该值为20。
- 我可能有一个高级的时刻,但我上次检查时,(14.0+5)/10是1.9,四舍五入时变成2.0。记住,Math.round实现了德国四舍五入。
- 将int转换为int是多余的,如果它已经很长,则更糟。
- @如果是双人的话,当然需要石膏,但如果可能的话,你会用很长时间。这是操作问题的一个int。
- @我根据你的建议改变了。感谢您提高答题质量。
- 谢谢@sinsuren,成功了。还要感谢所有帮助过的人
您可以使用Math.round(num/10.0) * 10。
- 如果除以10d或10.0,num可以是任何(原始)数字。
- 真的,编辑了。@彼得