【发布时间】:2017-02-11 00:04:29
【问题描述】:
如何在没有 if 语句的情况下将数字四舍五入到最接近的十位?例如,98 到 100。
int num = 87;
double t;
double d = 1.0 * num; // d = 87.0
t = d/100;
System.out.println(t);
【问题讨论】:
如何在没有 if 语句的情况下将数字四舍五入到最接近的十位?例如,98 到 100。
int num = 87;
double t;
double d = 1.0 * num; // d = 87.0
t = d/100;
System.out.println(t);
【问题讨论】:
您可以使用Math.round(num/10.0) * 10。
【讨论】:
answer = ((num+5)/10)*10; // if num is int
其中num 是int 并且要了解更多信息,请阅读此问题。 How to round a number to n decimal places in Java.
编辑:
如果num 是double,则按照@PeterLawrey 的建议将类型转换添加到表达式(long)((num+5)/10)
【讨论】:
num 是 14.0,那么这将评估为 20。
Math.round 实现了德式四舍五入。