Java取整方法总结
2015-09-22 11:51
429 查看
package com.hit; import java.math.BigDecimal; public class MathRounding { /** * * 项目名称: Java取整方法 * 包: com.hit; * 类名称: MathRounding * 类描述: 取整方法 * 创建人: Anny * 创建时间: 2015-09-22 * 版本: [v1.0] * */ public static void main(String[] args) { /** * Java取整方法: * 1.ceil向上取整 -- 凑整 * 2.floor向下取整 -- 舍掉小数取整 * 3.round四舍五入取整 * 4.rint最近取整 -- 返回最接近参数的整数,如果有2个数同样接近,则返回偶数的那个。它有两个特殊的情况: * 1)如果参数本身是整数,则返回本身。 * 2)如果不是数字或无穷大或正负0,则结果为其本身。 * * 注:ceil天花板的意思,取义向上;floor地板的意思,取义向下;round四舍五入; */ 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("四舍五入取整:(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)); System.out.println("最近取整 ="+Math.rint(1)); System.out.println("最近取整 ="+Math.rint(0)); System.out.println("最近取整 ="+Math.rint(-2.1)); System.out.println("最近取整 ="+Math.rint(2.0)); System.out.println("最近取整 ="+Math.rint(-1.5)); System.out.println("最近取整 ="+Math.rint(5.3)); } }
结果
向下取整:Math.floor(2)=2 向下取整:Math.floor(2.1)=2 向下取整:Math.floor(2.5)=2 向下取整:Math.floor(2.9)=2 四舍五入取整:(2)=2 四舍五入取整:(2.1)=2 四舍五入取整:(2.5)=3 四舍五入取整:(2.9)=3 向上取整:Math.ceil(2)=2 向上取整:Math.ceil(2.1)=3 向上取整:Math.ceil(2.5)=3 向上取整:Math.ceil(2.9)=3 舍掉小数取整:Math.floor(-2)=-2 舍掉小数取整:Math.floor(-2.1)=-3 舍掉小数取整:Math.floor(-2.5)=-3 舍掉小数取整:Math.floor(-2.9)=-3 四舍五入取整:(-2)=-2 四舍五入取整:(-2.1)=-2 四舍五入取整:(-2.5)=-3 四舍五入取整:(-2.9)=-3 向上取整:Math.ceil(-2)=-2 向上取整:Math.ceil(-2.1)=-2 向上取整:Math.ceil(-2.5)=-2 向上取整:Math.ceil(-2.9)=-2 最近取整 =1.0 最近取整 =0.0 最近取整 =-2.0 最近取整 =2.0 最近取整 =-2.0 最近取整 =5.0
相关文章推荐
- Struts2开发-i18n国际化实现案例-登录页面
- Java中的常量:如何避免反模式
- myeclipse修改内存大小不足
- Spring MVC POST中文乱码解决方案
- Maven搭建SpringMVC+Mybatis项目详解
- Eclipse开发环境搭建
- eclipse中读取nutch爬取的数据内容
- JavaMe开发绘制可自动换行文本
- 韩顺平 java 第13讲第14讲 抽象类、接口、final
- Spring事务原理
- Java中常见的设计模式之适配器模式
- Spring MVC 中的 forward 和 redirect
- Eclipse项目转Idea项目
- Java中常见的设计模式之代理设计模式
- Java中常见的设计模式之工厂设计模式
- java.lang.string split 以点分割字符串无法正常拆分字符串
- eclipse waring undefined attribute name 解决
- java函数参数是按值传递的
- Myeclipse 安装离线adt的方法 ()
- java.lang.OutOfMemoryError: PermGen space