Java 本规范中的天花板是什么意思?
有人能解释一下这个代码是什么意思吗?在if/else中。我已经阅读了好几次文档,但无法理解这些函数的含义。谢谢Java 本规范中的天花板是什么意思?,java,Java,有人能解释一下这个代码是什么意思吗?在if/else中。我已经阅读了好几次文档,但无法理解这些函数的含义。谢谢 private long getBalanceWithFactor(long balance, double factor) { double faccountbalance = (double)balance * factor; long res = 0; if ((Math.ceil(faccountbalance) - faccou
private long getBalanceWithFactor(long balance, double factor) {
double faccountbalance = (double)balance * factor;
long res = 0;
if ((Math.ceil(faccountbalance) - faccountbalance) <= 0.5)
res = (long)Math.ceil(faccountbalance);
else
res = (long)Math.floor(faccountbalance);
return res;
}
Math.ceil向上舍入,Math.floor向下舍入到最接近的整数
例如,如果你给它0.5
ceil0.5将返回1.0,floor0.5将返回0.0
在此上下文中还有另一个有用的函数:Math.round,它是天花板和地板的组合。它使用数学舍入规则舍入到最接近的整数
请注意,这些方法将返回double,因此您需要将它们转换为整数。Math.ceil向上舍入,Math.floor向下舍入到最接近的整数
例如,如果你给它0.5
ceil0.5将返回1.0,floor0.5将返回0.0
在此上下文中还有另一个有用的函数:Math.round,它是天花板和地板的组合。它使用数学舍入规则舍入到最接近的整数
请注意,这些方法将返回double,因此您需要对它们进行强制转换以获得整数。Math.ceil-返回不小于参数且等于数学整数的最接近负无穷大的最小双精度值
Math.floor-返回不大于参数且等于数学整数的最接近正无穷大的最大双精度值
从中获取,检查此项以获取有关数学类以及其中定义的方法的信息
比如说,
数学ceil5.8给出6和
Math.floor4.3将给出4Math.ceil-返回不小于参数且等于数学整数的最接近负无穷大的最小双精度值
Math.floor-返回不大于参数且等于数学整数的最接近正无穷大的最大双精度值
从中获取,检查此项以获取有关数学类以及其中定义的方法的信息
比如说,
数学ceil5.8给出6和
Math.floor4.3将给出4ceil是上标准化值,即ceil为7.6,7.1为8 地板是相反的,即7.6的上层标准化,7.1是7
该方法返回的整数不是平衡与因子相乘的浮点数,ceil是标准化上限,即ceil为7.6,7.1为8 地板是相反的,即7.6的上层标准化,7.1是7
此方法返回余额与因子乘积的整数而非浮点数它将余额*因子计算为faccountbalance,并将其四舍五入为最接近的整数
如果该值是5个舍入到下一个长单元。它将balance*因子计算为faccountbalance,并舍入到最接近的整数
如果该值为下一个长单元的5轮。docs,docs,docs,docs…请阅读与Math.roundbalance*factor相同的java API文档,还是我遗漏了什么?其作用与:res=long facountbalance+0.5@JorisW适用于正数,负值需要-0.5。docs,docs,docs,docs…请阅读与Math.roundbalance*factor相同的java API文档,还是我遗漏了什么?其作用与:res=long facountbalance+0.5@JorisW适用于正数,负值需要-0.5。谢谢你指出我编辑了我的答案。@谁被否决:愿意解释吗?谢谢你指出我编辑了我的答案。@谁被否决:愿意解释吗?为什么这篇文章被否决?为什么这篇文章被否决?