如何将数字四舍五入到最近的十位数,而不使用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
在Java中将数字保留到小数点后n位,可以使用以下表达式:(long)((num * Math.pow(10, n)) + 0.5) / Math.pow(10, n)
,其中num
是double
类型。如果num
是int
类型,请参考此问题了解更多信息。
编辑:
如果num
是double
类型,请按照@PeterLawrey的建议将类型转换添加到表达式(long)((num+5)/10)
中。
num
是 14.0,那么这将计算为 20。 - BathshebaMath.round
实现的是德式舍入。 - Bathsheba