java向上取整函数_java取整函数,向上取整函数Math.ceil()

你知道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]);

结果:

0df73b352063e40b8e0f12fa8f071682.png

函数式和整除判断式等效

这里的话要注意一下了:

两个限制-判断式,适用于整除;

他的操作数为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]);

下面是测试的结果:

3bdbd3df00aec254db847227e7c5287d.png

java取整函数的相关内容就给你介绍到这里啦!此文源于网络,仅供参考,希望可以对你有所帮助,更多java实例,可以继续关注本站来进行了解呢!

推荐阅读:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值