大家好,又见面了,我是你们的朋友全栈君。
你知道java取整函数要怎样实现吗?下面要给大家分享的是java向上取整函数的相关内容,一起来了解一下具体的方法吧!
java向上取整函数Math.ceil():double dividend = 7; // 被除数
double divisor = 2; // 除数
double flag = 0;
int result1 = 0;
int result2 = 0;
// 函数式
flag = Math.ceil(dividend / divisor); //向上取整计算
result1 = (int) flag; //将结果转化为int数据类型
// 判断式:整除法
if ((dividend % divisor) == 0)
{
result2 = (int) dividend / (int) divisor; // 将操作数转化为int型数据
}
else
{
result2 = ((int) dividend / (int) divisor) + 1; // 将操作数转化为int型数据
}
Object[] options = {
“成功”
, “取消”
};
JOptionPane.showOptionDialog(null, “函数ceil求值=” + result1 + “; 判断求值=” + result2
, “Warning”, JOptionPane.DEFAULT_OPTION
, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
结果:
函数式和整除判断式等效
这里的话要注意一下了:
两个限制-判断式,适用于整除;
他的操作数为int(Integer)数据类型,假如不是这样的话,那么就不会得到你想要的效果。
函数式,假如,使用int(Integer)当做操作数(参数)那么就一定要特别的去注意一下以下的内容:double dividend = 7; // 被除数
double divisor = 2; // 除数
double flag = 0;
int result1 = 0;
int result2 = 0;
// 函数式
// ① (int)dividend / (int)divisor 将计算结果直接转换为int型,因此这里的结果为3
//(int 类型丢失精度,即小数点之后的数丢失,本例的 3.5 丢失了0.5;
// 这里涉及 高精度数 向 低精度数 转化时,会丢失精度。
// 精度从低到高 int
// ② Math.ceil(3)函数执行,向上取整,也是3
// 感谢 博友“ws458371436” 的纠正,之前这个地方是糊涂的,还好有博友的细心,避免再误导其他朋友
flag = Math.ceil((int) dividend / (int) divisor); // 向上取整计算int = Math.ceil(int),对int整数取整,纯属多余!
result1 = (int) flag; //将结果转化为int数据类型
// 判断式:整除法
if ((dividend % divisor) == 0)
{
result2 = dividend / divisor; // 保持double型数据类型
}
else
{
result2 = (dividend / divisor) + 1; // 保持double型数据类型
}
Object[] options = {
“成功”
, “取消”
};
JOptionPane.showOptionDialog(null, “函数ceil求值=” + result1 + “; 判断求值=” + result2
, “Warning”, JOptionPane.DEFAULT_OPTION
, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
下面是测试的结果:
java取整函数的相关内容就给你介绍到这里啦!此文源于网络,仅供参考,希望可以对你有所帮助,更多java实例,可以继续关注本站来进行了解呢!
推荐阅读:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151827.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...