JAVA取整以及四舍五入

下面来介绍将小数值舍入为整数的几个方法:Math.ceil()、Math.floor()和Math.round()。 这三个方法分别遵循下列舍入规则:
Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数;
Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数;

Math.round()执行标准舍入,即它总是将数值四舍五入为最接近的整数(这也是我们在数学课上学到的舍入规则)。

下面来看几个例子:

Math.ceil(25.9) //

Math.ceil(25.5) //

Math.ceil(25.1) //

Math.ceil(25.0)
// Math.round(25.9) // Math.round(25.5) // Math.round(25.1) // Math.floor(25.9) // Math.floor(25.5) // Math.floor(25.1) //
import java.math.BigDecimal; //引入这个包

public class Test {
public static void main(String[] args) { double i = 3.856; // 舍掉小数取整
System.out.println("舍掉小数取整:Math.floor(3.856)=" + (int) Math.floor(i)); // 四舍五入取整
System.out.println("四舍五入取整:(3.856)="
+ new BigDecimal(i).setScale(0, BigDecimal.ROUND_HALF_UP)); // 四舍五入保留两位小数
System.out.println("四舍五入取整:(3.856)="
+ new BigDecimal(i).setScale(2, BigDecimal.ROUND_HALF_UP)); // 凑整,取上限
System.out.println("凑整:Math.ceil(3.856)=" + (int) Math.ceil(i)); // 舍掉小数取整
System.out.println("舍掉小数取整:Math.floor(-3.856)=" + (int) Math.floor(-i));
// 四舍五入取整
System.out.println("四舍五入取整:(-3.856)="
+ new BigDecimal(-i).setScale(0, BigDecimal.ROUND_HALF_UP)); // 四舍五入保留两位小数
System.out.println("四舍五入取整:(-3.856)="
+ new BigDecimal(-i).setScale(2, BigDecimal.ROUND_HALF_UP)); // 凑整,取上限
System.out.println("凑整(-3.856)=" + (int) Math.ceil(-i));
} }

最新文章

  1. DevExpress Carousel 设置水平滑动列表
  2. Gson实现自定义解析json格式
  3. WebAPI的一种单元测试方案
  4. sql传入组合字符串批量操作
  5. SVN使用报错 Synchronize operation failed. RA layer request failed svn: REPORT request on
  6. 《Pandoc用户指南》之一
  7. flex 调用WebService1(基于.net)
  8. php 设置字符集为utf-8
  9. perl笔记
  10. stm32之CAN总线基础
  11. nginx源代码分析--读请求主体(1)
  12. SpringMVC+Spring 事务无法回滚的问题
  13. POJ 3673 Cow Multiplication
  14. python写一个信息收集四大件的脚本
  15. C++实现递归版二分搜索算法
  16. Oracle参数Arraysize设置对于逻辑读的影响分析
  17. Windows编程的本质
  18. 自定义 vim
  19. 0703-spring cloud config-git配置属性加解密之对称加密
  20. EasyUI datagrid 选择单元格 出现文本框 修改 四

热门文章

  1. Swify闭包
  2. Tasker文件夹说明
  3. Ubuntu 11.04安装GCC 4.6.1
  4. TCP/IP具体解释--TCP/UDP优化设置总结& MTU的相关介绍
  5. [Android Pro] git 打标签、推送tag到托管服务器、验证是否成功
  6. [Android Memory] 使用 Eclipse Memory Analyzer 进行堆转储文件分析
  7. jenkins双向备份;高可用部署;
  8. HTML学习要点
  9. iOS: 字体样式
  10. iOS: xcode打包上传iTunes失败,iTunes Store operation failed,this action can not complete .try again