`
BlueBing
  • 浏览: 16886 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Java 中floor,round和ceil的区别

阅读更多

java.Math 中有这三个方法:floor,round和ceil

其区别如下:

floor 向下取整 即取不大于原值的最大整数(的double).

说整数只是便于理解,其实floor和ceil返回类型是double类型,而round返回类型的long类型

如:  

Math.floor(10.1)=10.0;  Math.floor(10.6)=10.0 ;
Math.floor(-10.1)=-11.0; Math.floor(-10.6)=-11.0;   //-10.1>-11; -10.6>-11

 

 

ceil 向上取整 即不小于原值的最小整数(的double).

如:

Math.ceil(10.1)=11.0; Math.ceil(10.6)=11.0;
Math.ceil(-10.1)=-10.0; Math.ceil(-10.6)=-10.0;    //-10.1<-10; -10.6<-10

 

 

 

而round的理解比较复杂,我们可以看下源码:

 

  public static long round(double a) {
	 return (long)floor(a + 0.5d);
    }

 

即原值加上0.5后向下取整,再转long类型.这样记忆你可以很轻易的计算而不会混淆.(注意负数的运算顺序)

 

Math.round(10.1)=10; Math.round(10.5)=11; Math.round(10.6)=11;
Math.round(-10.1)=-10; Math.round(-10.5)=-10; Math.round(-10.6)=-11;

 

 -10.1+0.5=-9.6,向下取整为Math.floor(-9.6)=-10.0,所以 Math.round(-10.1)=-10

 

 

 

 

 

 

分享到:
评论

相关推荐

    Java Math.round(),Math.ceil(),Math.floor()的区别详解

    在Java编程语言中,`Math`类提供了几个用于处理数值的静态方法,其中包括`Math.round()`, `Math.ceil()`, 和 `Math.floor()`。这些方法主要用于处理浮点数,将它们转换成整数,但每种方法的取整策略不同。下面我们将...

    Java面试问题整理.docx

    Java 面试问题整理中涵盖了 Java 基础知识、equals 和 hashCode 的区别、Math 类的使用、String 类的特点等多个方面的知识点。 一、Java 基础知识 * JDK 和 JRE 的区别:JDK(Java Development Kit)是 Java 的...

    初级Java程序员面试题

    JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含JRE,JDK中有一个名为jre的...Math提供了三个与取整有关的方法:ceil、floor、round

    10万字208道Java经典面试题总结(附答案)

    1. JDK 和 JRE 的区别:JDK 是 Java 开发工具包,JRE 是 Java 运行环境。JDK 中包含 JRE,JDK 中有一个名为 jre 的目录,里面包含两个文件夹 bin 和 lib,bin 就是 JVM,lib 就是 JVM 工作所需要的类库。 二、Java ...

    java四舍五入

    Java 的 Math 类提供了多种数学函数,包括 floor、ceil 和 rint 函数。其中,floor 函数可以用于舍掉小数取整,ceil 函数可以用于凑整,而 rint 函数可以用于四舍五入取整。例如: ```java double i = 2.5; System....

    java 使用取整函数

    在Java编程语言中,取整函数是用于将浮点数转换为整数的关键操作,它在各种场景下都非常常见,例如处理数学计算、数据分析或控制流。Java提供了多种方法来执行取整操作,以满足不同需求。让我们深入探讨这些方法。 ...

    java中math类.docx

    Java 中 Math 类的常用方法 Java 中的 Math 类提供了一些静态方法来执行基本数学运算,包括指数、对数、平方根、幂运算、三角函数等。这些方法可以帮助开发者快速实现数学运算,并且可以提高代码的可读性和可维护性...

    免费开源!! Java 面试必会 直通BAT

    Math 类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英 文名称的含义相对应,例如,ceil 的英文意义是天花板,该方法就表示向上取整, Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的...

    Java中Math类的常用方法

    ### Java中Math类的常用方法 #### 概述 在Java编程语言中,`Math`类提供了一系列静态方法用于执行基本数学运算。这些方法包括绝对值、最大值、最小值、...希望本文能帮助大家更好地理解和应用Java中的`Math`类。

    java中math类的使用

    在Java编程语言中,`java.lang.Math`类提供了一系列用于执行基本数学运算的方法和常量。这个类包含静态方法和常量,使得开发者无需实例化对象即可直接调用其功能,极大地简化了数学计算的过程。 ### 常量 #### ...

    java数学工具类Math详解(round方法)

    Java中的`Math`类是Java标准库`java.util`包中的一个工具类,它提供了一系列静态方法,用于执行各种数学运算。这个类包含了处理基本数值的函数,如求绝对值、取整、随机数生成以及与圆周率相关的计算等。在本篇文章...

    学习JAVA数学函数大全.pdf

    Java中的四舍五入类函数主要包括abs、ceil、floor和round等函数,这些函数用于计算数字的绝对值、上舍入、下舍入和四舍五入。例如,Math.abs()函数返回数字的绝对值,Math.ceil()函数返回大于等于数字参数的最小整数...

    java常见面试题陆小马功钟浩.pdf

    9. Java中的Math类:文档中提到了Math类的静态方法,如Math.ceil(),Math.floor()和Math.round(),用于执行数学运算。 10. Java中的异常处理:虽然没有直接提及,但从上下文可以推测,文档可能涉及到了异常处理机制...

    java 四舍五入 需要的朋友看看

    `Math`类是Java标准库的一部分,提供了多种数学函数,包括`floor()`和`ceil()`。这两个方法可以用来近似地实现四舍五入,但它们并不完全等同于传统的四舍五入规则。 - `Math.floor()`:该方法返回不大于参数的最大...

    电大Java语言与WWW技术形成性考核判断题.pdf

    10. 算法中的数学计算:包括平方、开方等数学运算的函数,如ceil()、floor()、round()。 11. 字符串的操作:如replace()方法,用于替换字符串中的字符序列。 12. 二进制、八进制、十进制和十六进制数的表示:文档...

    java中math类.pdf

    Java中的Math类是Java标准库中的核心类之一,位于java.lang包内,它提供了一系列用于执行基本数学运算的方法。Math类中的所有方法都是静态的,这意味着我们不需要创建Math类的实例,可以直接通过类名调用这些方法。...

    Java中的Number类和数值操作面试集锦

    对于数值类型的对象,我们可以利用 Math 类提供的方法来执行各种数学运算,如取绝对值(Math.abs())、四舍五入(Math.round())、向上取整(Math.ceil())和向下取整(Math.floor())。此外,还可以通过 Math....

    JAVA案例 第二篇:针对大数值取整数和小数、保留几位小数、特定位数的数值、自幂数.docx

    在JAVA中,我们可以使用`Math.floor()`和`Math.ceil()`函数来获取一个数的整数部分,而使用`Math.round()`函数则可以将数字四舍五入到最接近的整数。对于取小数部分,我们可以用原数减去整数部分得到: ```java ...

    java基础--4.常用类-6.数字

    此外,还有Ceil(向上取整)、Floor(向下取整)和Round(四舍五入)等方法。 在处理大整数或者高精度浮点数时,Java提供了BigInteger和BigDecimal类。这两个类允许我们进行任意精度的算术运算,适合于需要精确计算...

Global site tag (gtag.js) - Google Analytics