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

原创 2015年11月30日 14:29:07

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]); 
反例结果:
        

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

java 向上或向下取整Math

http://dilegencehe.blog.163.com/blog/static/43255413201111178523181/ 向上取整用Math.ceil(double a) ...
  • dreamer0924
  • dreamer0924
  • 2013年02月05日 10:45
  • 39946

java、js 对于四舍五入、向上取整、向下取整

1、Javascript Math ceil()、floor()、round()三个函数的区别: Round是四舍五入为整数;Ceiling是向上取整;float是向下取整; ce...
  • liuxiao723846
  • liuxiao723846
  • 2015年11月30日 16:13
  • 6406

有关java中math类中三种取整函数的区别

math类中三大取整函数               1.ceil               2.floor               3.round 其实三种取整函数挺简单的.只要记住三...
  • u014602163
  • u014602163
  • 2015年04月14日 20:22
  • 2234

java向上取整小例子

int times = (int)Math.ceil((double)1023/(double)100); 如果不double强转的话 就是int类型计算 结果就是直接取整100 如果加d...
  • shuist_king
  • shuist_king
  • 2017年04月08日 10:24
  • 690

java向上取整向下取整

向上取整用Math.ceil(double a)向下取整用Math.floor(double a) 举例:public static void main(String[] args) throws ...
  • lu_wei_wei
  • lu_wei_wei
  • 2016年04月06日 12:45
  • 4739

Java Math的 floor,round和ceil的总结

floor 返回不大于的最大整数 round 则是4舍5入的计算,入的时候是到大于它的整数(当-1.5时可见,四舍五入后得到的结果不是我们期待的,解决办法是先对他取绝对值,然后在用round方法)ro...
  • foart
  • foart
  • 2009年06月24日 19:56
  • 142464

关于java中天花板函数Math.ceil()&…

今天学写分页的时候要根据查到的记录总数recCount和每页数据数pageSize,求出总共有多少页。这里都定义为int型的 假设有66条记录,每页显示10条记录,总共应该分为7页 之前觉得ceil就...
  • u013082989
  • u013082989
  • 2015年12月28日 12:29
  • 3106

Java.lang.Math.ceil()方法

Java.lang.Math.ceil()方法 Java.lang.Math.ceil()方法用法实例教程 - 描述 java.lang.Math.cei...
  • evilcry2012
  • evilcry2012
  • 2016年07月29日 19:10
  • 373

java中Math.ceil()函数实例

java中Math.ceil()函数实例
  • qq_35624642
  • qq_35624642
  • 2017年04月17日 11:42
  • 835

Java Math的floor、ceil、round方法

这几个方法都位于java.lang包下的Math类中,都为静态方法。ceil方法:static double ceil(double a)返回值为double类型,返回的值大于或等于参数的double...
  • worm0527
  • worm0527
  • 2016年04月08日 00:06
  • 1204
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java向上取整函数Math.ceil()
举报原因:
原因补充:

(最多只允许输入30个字)