java math四舍五入类,Java中Math类的几个四舍五入方法的区别

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));

}

}

java 中 Math类

package cn.liuliu.com; import java.math.BigDecimal; import java.math.BigInteger; /* * 一.Math类? * * 1 ...

java中Math类

Math类 Math类是一个很有用的数学帮助类,使用也非常简单,这个类比较特殊,首先他和String类一样都是用final修饰,所以不能有子类,还有就是它的构造方法是私有的,也就是我们不能通过new的 ...

Java中Math类的常用方法

public class MathDemo { public static void main(String args[]){ /** * abs求绝对值 */ System.out.println( ...

Java中Object类常用的12个方法,你用过几个?

前言 Java 中的 Object 方法在面试中是一个非常高频的点,毕竟 Object 是所有类的“老祖宗”.Java 中所有的类都有一个共同的祖先 Object 类,子类都会继承所有 Object ...

java中的类、成员变量、方法的修饰符。

http://blog.sina.com.cn/s/blog_7ffb8dd501011alw.html http://www.cnblogs.com/lixiaolun/p/4311727.html

Java-Runoob:Java Number &; Math 类

ylbtech-Java-Runoob:Java Number & Math 类 1.返回顶部 1. Java Number & Math 类 一般地,当需要使用数字的时候,我们通常使 ...

Java中ArrayList类详解

1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...

java基础-Math类常用方法介绍

java基础-Math类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Math类概念 Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函 ...

Java基础(四):Java Number &; Math 类、Character 类、String 类、StringBuffer &; StringBuilder 类

一.Java Number & Math 类: 1.Number类: 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等.然而,在实际开发 ...

随机推荐

odoo 的 拉式 和 推式 库链

推式链的数据定义在  stock.location.path 表,视图定义在 “路线” 界面的 “push rules” 具体可参考  入库设置为  Receipt in 2 steps . push ...

IOS 用drawRect 画表格

自定义一个View DrawLine DrawLine.h #import @protocol gridTouchDelete

5种方法去掉HTML中Inline-Block元素之间的空白

5种方法去掉HTML中Inline-Block元素之间的空白 记得年轻时我在IE6上开发,绝望的希望IE6能支持display: inline-block功能.当需要在”inline”元素上控制mar ...

【转】Android ListView加载不同的item布局

原创教程,转载请保留出处:http://www.eoeandroid.com/thread-72369-1-1.html     最近有需求需要在listView中载入不同的listItem布局,开始 ...

R学习笔记 第二篇:矩阵、数组和列表

向量是一维的,只有长度(行),没有其他维度.R中存在更高维度的对象,他们是矩阵,数据框,数组.这些对象的下标都是使用中括号[],第一个维度是row,第二个维度是column,依次类推,[row,col ...

vue.js之组件篇

Vue.js 组件 模块化:是从代码逻辑的角度进行划分的: 组件化:是从UI界面的角度进行划分的. 组件(Component)是 Vue.js 最强大的功能之一,组件可以扩展 HTML 元素,封装可重 ...

Shell入门(一)

一.Shell参数变量相关知识: $@: 所有参数,每个参数带双引号.以"$1" "$2" "$3"的形式出现, $*:  所有参数,所有参 ...

WebSockets通信

WebSockets通信 1. websocket是什么?WebSocket是一种网络通信协议.2. 为什么需要websocket?我们有http协议,为什么还需要websocket协议呢?因为htt ...

未能找到路径E:\项目文件\W\vbc.exe”的一部分

网上找的说要引用Microsoft.CodeDom.Providers.DotNetCompilerPlatform, 我已经引用了,是差roslyn文件夹,从别的项目考一份过来就好了

自动化运维工具 SaltStack 在云计算环境中的实践

http://www.talkwithtrend.com/Article/218473

你可能感兴趣的:(java,math四舍五入类)