`
need_faith
  • 浏览: 82113 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转载】JAVA取整和四舍五入

    博客分类:
  • JAVA
阅读更多

摘自: http://edu.codepub.com/2009/0616/6329.php

 

 

public class TestGetInt{ 
  public static void main(String[] args){ 
    double i=2, j=2.1, k=2.5, m=2.9; 
    System.out.println("舍掉小数取整:Math.floor(2)=" + (int)Math.floor(i)); 
    System.out.println("舍掉小数取整:Math.floor(2.1)=" + (int)Math.floor(j)); 
    System.out.println("舍掉小数取整:Math.floor(2.5)=" + (int)Math.floor(k)); 
    System.out.println("舍掉小数取整:Math.floor(2.9)=" + (int)Math.floor(m)); 
                                                                               
    /* 这段被注释的代码不能正确的实现四舍五入取整 
    System.out.println("四舍五入取整:Math.rint(2)=" + (int)Math.rint(i)); 
    System.out.println("四舍五入取整:Math.rint(2.1)=" + (int)Math.rint(j)); 
    System.out.println("四舍五入取整:Math.rint(2.5)=" + (int)Math.rint(k)); 
    System.out.println("四舍五入取整:Math.rint(2.9)=" + (int)Math.rint(m)); 
    
    System.out.println("四舍五入取整:(2)=" + new DecimalFormat("0").format(i)); 
    System.out.println("四舍五入取整:(2.1)=" + new DecimalFormat("0").format(i)); 
    System.out.println("四舍五入取整:(2.5)=" + new DecimalFormat("0").format(i)); 
    System.out.println("四舍五入取整:(2.9)=" + new DecimalFormat("0").format(i)); 
    */ 
    
    System.out.println("四舍五入取整:(2)=" + new BigDecimal("2").setScale(0, BigDecimal.ROUND_HALF_UP)); 
    System.out.println("四舍五入取整:(2.1)=" + new BigDecimal("2.1").setScale(0, BigDecimal.ROUND_HALF_UP)); 
    System.out.println("四舍五入取整:(2.5)=" + new BigDecimal("2.5").setScale(0, BigDecimal.ROUND_HALF_UP)); 
    System.out.println("四舍五入取整:(2.9)=" + new BigDecimal("2.9").setScale(0, BigDecimal.ROUND_HALF_UP)); 

    System.out.println("凑整:Math.ceil(2)=" + (int)Math.ceil(i)); 
    System.out.println("凑整:Math.ceil(2.1)=" + (int)Math.ceil(j)); 
    System.out.println("凑整:Math.ceil(2.5)=" + (int)Math.ceil(k)); 
    System.out.println("凑整:Math.ceil(2.9)=" + (int)Math.ceil(m)); 

    System.out.println("舍掉小数取整:Math.floor(-2)=" + (int)Math.floor(-i)); 
    System.out.println("舍掉小数取整:Math.floor(-2.1)=" + (int)Math.floor(-j)); 
    System.out.println("舍掉小数取整:Math.floor(-2.5)=" + (int)Math.floor(-k)); 
    System.out.println("舍掉小数取整:Math.floor(-2.9)=" + (int)Math.floor(-m)); 
    
    System.out.println("四舍五入取整:(-2)=" + new BigDecimal("-2").setScale(0, BigDecimal.ROUND_HALF_UP)); 
    System.out.println("四舍五入取整:(-2.1)=" + new BigDecimal("-2.1").setScale(0, BigDecimal.ROUND_HALF_UP)); 
    System.out.println("四舍五入取整:(-2.5)=" + new BigDecimal("-2.5").setScale(0, BigDecimal.ROUND_HALF_UP)); 
    System.out.println("四舍五入取整:(-2.9)=" + new BigDecimal("-2.9").setScale(0, BigDecimal.ROUND_HALF_UP)); 

    System.out.println("凑整:Math.ceil(-2)=" + (int)Math.ceil(-i)); 
    System.out.println("凑整:Math.ceil(-2.1)=" + (int)Math.ceil(-j)); 
    System.out.println("凑整:Math.ceil(-2.5)=" + (int)Math.ceil(-k)); 
    System.out.println("凑整:Math.ceil(-2.9)=" + (int)Math.ceil(-m)); 
    } 
} 


 

 

注:本博客文章均已注明原创和转载,如转载本博客文章,需注明原文出处或征求原作者同意。

分享到:
评论

相关推荐

    java四舍五入

    然而,在 Java 语言中,rint 函数不能正确地实现四舍五入取整。例如: ```java double i = 2.5; System.out.println("四舍五入取整:Math.rint(2.5) = " + (int)Math.rint(i)); ``` 上述代码不能正确地实现四舍五入...

    java 四舍五入

    java代码编写 具有四舍五入 可以精确到指定的位数。

    java 数字格式化程序(不需四舍五入)

    浮点数任意保留数位小数但不需四舍五入小程序

    java 使用取整函数

    如果浮点数是半整数(如 3.5 或 -3.5),`Math.round()` 将会进行四舍五入。这个方法适用于需要更大范围整数的情况。 ```java double num = 3.6; long result = Math.round(num); // result will be 4L double num...

    JAVA取整计算器源码

    然后,可以使用上述的取整方法根据用户需求选择保留小数位数或进行四舍五入。 例如,我们可以创建一个新的类`DecimalCalculator`,包含两个`double`类型的变量作为操作数,提供支持小数的加、减、乘、除方法。在...

    详解java的四舍五入与保留位示例

    Java中的四舍五入与保留位示例 Java中的四舍五入是指对数字进行舍入操作,以达到指定的位数精度。四舍五入规则是指在小数点后保留指定位数的数字,如果舍弃位大于5则进位,否则舍弃。在Java中,四舍五入可以使用...

    四舍五入中小数位问题

    在取款或存款操作中,小数点后的金额被四舍五入至最接近的整数,这一过程理论上会随机地对客户有利或不利,但考虑到银行的规模和交易频率,这种随机性可能导致银行总体上承担更多成本,因为银行无法控制客户何时取款...

    Java四舍五入时保留指定小数位数的五种方式

    在Java编程语言中,对数字进行四舍五入并保留指定的小数位数是常见的需求。以下是五种不同的方法来实现这一目标: 1. **使用`BigDecimal`类**: `BigDecimal`是Java中用于处理高精度、大数值计算的类,提供了多种...

    java代码-BigDecimal 四舍五入保留2位小数. 金额从单位分转成单位元

    通常,`main`方法是程序的入口点,它会创建BigDecimal对象,执行四舍五入和转换操作,并可能打印结果。 5. README.txt文件: 这个文件通常包含了项目或代码的说明,可能包括如何运行代码、代码的目的、作者信息...

    JSTL标签的formatNumber 格式化数字,四舍六入问题。

    通过理解其属性和工作原理,以及可能存在的四舍五入问题,我们可以有效地解决在格式化过程中遇到的各种需求。如果源代码文件`FormatNumberSupport.java`提供了额外的功能,那么它可能是一个宝贵的资源,可以帮助我们...

    Rounding2:继续四舍五入 app 介绍方法和数组

    可以使用`BigDecimal`类的`setScale()`方法,它可以设置保留的小数位数,并指定四舍五入模式,如`RoundingMode.HALF_UP`(通常的四舍五入)、`RoundingMode.DOWN`(向下取整)等。 ```java BigDecimal bd = new ...

    java 随机数 ,解决头、尾数字在四舍五入之后得到的几率其实比中间的数少一半,并不能保证头尾的数字概率与其他数字相同

    java 随机数Math.random()头、尾数字在四舍五入之后得到的几率其实比中间的数少一半,并不能保证头尾的数字概率与其他数字相同 max.subtract(min).multiply(BigDecimal.valueOf(Math.random())).add(min).setScale(0...

    java新手初悟

    【Java新手初悟】这篇内容主要涉及了Java编程中的几个基础知识点,包括四舍五入的处理、抽象类与接口的应用以及在命令行下编译和运行带包的Java文件,以及如何打包成JAR文件。以下是这些知识点的详细解释: 1. **四...

    java问题及对策

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

    详解Java中Math.round()的取整规则

    在本文中,我们详细介绍了 Java 中 Math.round() 的取整规则,包括四舍五入的原理和示例代码的验证。我们还讨论了五成双的规则,了解了 Math.round() 的取整规则对大家的学习或者工作具有一定的参考学习价值。

    java小程序 美元与人民币兑换

    一个人民币与美圆兑换的程序!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    类 java.lang.Number分析

    这些转换方法可能会涉及舍入或取整操作,以适应目标数据类型的范围。 - `doubleValue()`:将Number对象转换为double类型,可能涉及舍入。 - `floatValue()`:将Number对象转换为float类型,同样可能涉及舍入。 - `...

    Java程序设计基础:Math类.pptx

    Math类取整方法和random随机值方法 Math类 Math类 1 掌握常用数学函数; 2 会使用Math类中的方法解决数学问题。 ...long round( double x) //四舍五入返回一个长整型数。 int n = Math.round(2.1f)

    JAVA 五年的工作经验和学习笔记

    由于本人目前允许上传的资源太小,所以无法上传整个的技术学习笔记(JAVA 五年的工作经验和学习笔记),待以后有机会会分享给大家。 技术体系包括: J2SE/J2ME/J2EE/JAVA代码优化/Flex(BlazeDS、PureMVC等技术)...

Global site tag (gtag.js) - Google Analytics