脚步不停,信念不息!

不积跬步无以至千里,不积小流无以成江海。

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

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

       百度Math.ceil()函数:“Math.ceil()是常见编程语言中的常用代码,ceil() 方法执行的是向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数。

       在使用中发现,Math.ceil(param)参数param需要严格double数据类型的才能有效实现向上取整的效果。

示例:

		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;
		
		// 函数式
		flag = Math.ceil((int)dividend / (int)divisor);		//向上取整计算
		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]); 
反例结果:
        

总结:函数(接口),都具有它的适应范围和限制条件,正是这些条件,标定了基本功能,有准确的指向,得出特定效果。这也是智能。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangqingbo0829/article/details/50110599
个人分类: java SSH
想对作者说点什么? 我来说一句

Java的double向上/下取整

kaka3511 kaka3511

2017-08-07 16:21:12

阅读数:2385

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭