`

Math:floor()/ceil()/BigDecimal

    博客分类:
  • Java
 
阅读更多

本文取自网络

Java的取整函数时间

 Math.floor()、Math.ceil()、BigDecimal都是Java中的取整函数,但返回值却不一样

Math.floor()
通过该函数计算后的返回值是舍去小数点后的数值
如:Math.floor(3.2)返回3
Math.floor(3.9)返回3
Math.floor(3.0)返回3

Math.ceil()
ceil函数只要小数点非0,将返回整数部分+1
如:Math.ceil(3.2)返回4
Math.ceil(3.9)返回4
Math.ceil(3.0)返回3

----------------------------------------------------------

Math.floor()做到四舍五入:

double a = 3.4,double b = Math.floor(a),if(a-b>=0.5){b += 1}

Math.ceil()做到四舍五入:

double a = 3.4,double b = Math.ceil(a),if(b-a<=0.5){b += 1}

----------------------------------------------------------

BigDecimal四舍五入
传统的四舍五入,在Math类中并没有直接提供,必须使用Java.math.BigDecimal类来实现
new BigDecimal("2.0").setScale(0, BigDecimal.ROUND_HALF_UP)返回2
new BigDecimal("2.4").setScale(0, BigDecimal.ROUND_HALF_UP)返回2
new BigDecimal("2.5").setScale(0, BigDecimal.ROUND_HALF_UP)返回3 

 

BigDecimal a = new BigDecimal(1000);
return a.doubleValue();

==========================================

import java.math.*;
public class Test {
           public static void main(String[] args) {
 
MathContext mc = new MathContext(3, RoundingMode.HALF_DOWN);
//精度为3,舍入模式为大于0.5进1,否则舍弃。
 
                      BigDecimal a=new BigDecimal(10);
                      BigDecimal b=new BigDecimal(3);
                      System.out.println(a.divide(b,mc));   
                   }
       }
分享到:
评论

相关推荐

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

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

    java四舍五入

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

    java中math类的使用

    #### Math.ceil(), Math.floor(), Math.round() `Math.ceil()`方法返回大于或等于参数的最小整数值;`Math.floor()`返回小于或等于参数的最大整数值;`Math.round()`则按四舍五入规则返回最接近的整数值。这些方法...

    java 使用取整函数

    与 `Math.floor()` 相反,`Math.ceil()` 函数返回大于或等于给定浮点数的最小整数。对于正数,它会向上取整;对于负数,它会向下取整。 ```java double num = 3.2; int result = (int) Math.ceil(num); // result ...

    day13_API-异常.pdf

    Java 中的 Math、BigInteger 和 BigDecimal 类 Java 语言中提供了多种数学类来帮助开发者进行数学运算,包括 Math、BigInteger 和 BigDecimal 类。这些类提供了丰富的数学方法,帮助开发者快速高效地进行数学运算。...

    Java Math类、Random类、System类及BigDecimal类用法示例

    - `Math.ceil(a)`:返回大于或等于double类型a的最小整数,即向上取整。 - `Math.floor(a)`:返回小于或等于double类型a的最大整数,即向下取整。 - `Math.max(a, b)`:返回两个整数a和b之间的较大值。 - `Math....

    java 取整

    Java提供了`Math.floor()`函数来实现这一操作。例如: ```java double num = 3.14; int flooredNum = (int) Math.floor(num); ``` 在这个例子中,`flooredNum`的值将是3。 2. 向上取整:当需要将一个浮点数转换为...

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

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

    untitled.zip

    在Java中,`Math.ceil()`方法实现了这个功能。例如,`double num = 3.1; double ceilNum = Math.ceil(num);`,`ceilNum`将会是4.0。 **地板函数(Floor Function)** 地板函数返回小于或等于输入值的最大整数。与...

    java问题及对策

    1. 舍去小数取整:`Math.floor(3.5)`将返回3。 2. 四舍五入取整:`Math.rint(3.5)`将返回4。这种方式会保留最接近的整数,如果浮点数等于0.5,则向正无穷方向取整。 3. 进位取整:`Math.ceil(3.1)`将返回4。这将始终...

    Java Number & Math 类.pdf

    在处理数值时,Math类的方法如`abs()`用于获取绝对值,`ceil()`用于向上取整,`floor()`用于向下取整,`round()`用于四舍五入,`rint()`返回最接近的整数,`min()`和`max()`分别用于找到两个数中的最小值和最大值,...

    Java -核心类库 Object类常方法 Math类常用方法 System类常用方法 基本类型包装类常用方法等

    3. **floor() 方法**:获取不大于参数的最大整数。 4. **round() 方法**:对浮点数进行四舍五入。 5. **random() 方法**:生成随机数。 6. **sqrt() 方法**:计算平方根。 7. **pow() 方法**:计算幂。 #### 三、...

    解决javascript中的浮点数计算不精确问题

    1. **四舍五入**:使用`Math.round()`、`Math.floor()`或`Math.ceil()`对结果进行四舍五入,以减少不精确性的影响。 2. **比较阈值**:在比较浮点数时,不是直接使用`===`,而是设定一个很小的阈值(如`Number....

    CoreJava面试技巧1.19.pdf

    - `Math.floor(double a)`:返回不大于a的最大整数。 - `Math.ceil(double a)`:返回不小于a的最小整数。 - `Math.round(double a)`:对浮点数进行四舍五入处理。对于负数,-1.5会被舍入为-1而不是-2。 - **大...

    Rounding:舍入程序

    2. `Math.ceil(x)`: 此方法返回大于或等于x的最小整数,它不进行四舍五入,而是向上取整。 3. `Math.floor(x)`: 相反,此方法返回小于或等于x的最大整数,即向下取整。 4. `Math.round(x * 10^n) / (10^n)`: 如果...

    java中的数学计算函数的总结

    - `Math.floor()`和`Math.ceil()`分别返回不大于和不小于给定浮点数的最大整数值。 - `Math.exp()`计算`e`的幂,即`e^x`。 - `Math.log()`返回给定数的自然对数。 - `Math.max()`和`Math.min()`分别返回两个数中的...

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

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

Global site tag (gtag.js) - Google Analytics