一篇文章讲明白Java中四舍五入

简介: 一篇文章讲明白Java中四舍五入

1、Math中四舍五入的方法

Math.ceil(double a)向上舍入,将数值向上舍入为最为接近的整数,返回值是double类型

Math.floor(double a)向下舍入,将数值向下舍入为最为接近的整数,返回值是double类型

Math.round(float a)标准舍入,将数值四舍五入为最为接近的整数,返回值是int类型

Math.round(double a)标准舍入,将数值四舍五入为最为接近的整数,返回值是long类型

2、Math中random生成随机数

Math.random()生成大于等于0,小于1的随机数

3、Random类生成随机数

两种构造方式:第一种使用默认的种子(当前时间作为种子),另一个使用long型整数为种子,Random类可以生成布尔型、浮点类型、整数等类型的随机数,还可以指定生成随机数的范围

4、BigDecimal处理小数

两种构造方式:第一种直接value写数字的值,第二种用String

import java.math.BigDecimal;

import java.util.Random;

import java.util.concurrent.ThreadLocalRandom;

public class TestNumber {

public static void main(String【】 args){

//ceil返回大的值

System.out.println(Math.ceil(-10.1)); //-10.0

System.out.println(Math.ceil(10.7)); //11.0

System.out.println(Math.ceil(-0.7)); //-0.0

System.out.println(Math.ceil(0.0)); //0.0

System.out.println(Math.ceil(-0.0)); //-0.0

System.out.println(Math.ceil(-1.7)); //-1.0

//floor返回小的值

System.out.println(Math.floor(-10.1)); //-11.0

System.out.println(Math.floor(10.7)); //10.0

System.out.println(Math.floor(-0.7)); //-1.0

System.out.println(Math.floor(0.0)); //0.0

System.out.println(Math.floor(-0.0)); //-0.0

System.out.println(Math.floor(-1.7)); //-2.0

//round四舍五入,float返回int,double返回long

System.out.println(Math.round(10.5)); //11

System.out.println(Math.round(-10.5)); //-10

//Math生成随机数

System.out.println(Math.random());

//Random类生成随机数

Random rand=new Random();

System.out.println(rand.nextBoolean());

System.out.println(rand.nextDouble());

System.out.println(rand.nextInt());

System.out.println(rand.nextInt(10));

//Random使用当前时间作为Random的种子

Random rand2 = new Random(System.currentTimeMillis());

System.out.println(rand2.nextBoolean());

System.out.println(rand2.nextDouble());

System.out.println(rand2.nextInt());

System.out.println(rand2.nextInt(10));

System.out.println(rand2.nextInt(5));

//ThreadLocalRandom

ThreadLocalRandom rand3 = ThreadLocalRandom.current();

System.out.println(rand3.nextInt(5,10));

//BigDecimal

System.out.println(0.8 - 0.7); //0.10000000000000009

BigDecimal a1=new BigDecimal(0.1);

BigDecimal b1=new BigDecimal(0.9);

BigDecimal c1=a1.add(b1);

System.out.println("a1.add(b1)="+c1); //a1.add(b1)=1.0000000000000000277555756156289135105907917022705078125

BigDecimal a2=new BigDecimal("0.1");

BigDecimal b2=new BigDecimal("0.9");

BigDecimal c2=a2.add(b2);

System.out.println("a2="+a2); //a2=0.1

System.out.println("a2.add(b2)="+c2); //a2.add(b2)=1.0

}//代码效果参考:http://www.ezhiqi.com/bx/art_3597.html

}//代码效果参考:http://www.ezhiqi.com/bx/art_2431.html

相关文章
|
16天前
|
Java
别再被 Java 类和对象绕晕了!一篇文章让你秒懂!
【6月更文挑战第15天】Java中的类是对象的模板,定义属性(如姓名、年龄)和行为(如走路、说话)。对象是类的实例,有自己的属性值。例如,`Person`类可创建`Person`对象,赋予属性值并调用方法。同样,`Car`类可创建不同品牌的汽车对象,每个对象能加速或刹车。理解类与对象的关系是Java面向对象编程的基础。
|
1天前
|
Java
一篇文章讲明白Java中内部类详解—匿名内部类
一篇文章讲明白Java中内部类详解—匿名内部类
|
14天前
|
存储 安全 Java
Java Queue:从入门到精通,一篇文章就够了!
【6月更文挑战第18天】Java集合框架中的队列Queue遵循FIFO原则,用于存储和管理元素。从创建队列(如LinkedList示例)到移除元素(remove和poll方法),再到不同实现类(如ArrayDeque和ConcurrentLinkedQueue),队列在多线程、任务调度等场景中广泛应用。自定义队列如LimitedQueue展示如何限制容量。了解并熟练使用队列能提升程序性能和可读性。队列,是高效编程的关键工具。
|
15天前
|
安全 Java 索引
Java List:从入门到精通,一篇文章就够了!
【6月更文挑战第17天】Java List是有序元素集合,支持索引访问、添加、删除和修改。从ArrayList、LinkedList到Vector,各种实现满足不同场景需求。使用add()添加元素,get()获取,set()修改,remove()删除。遍历可用for-each或Iterator,subList()创建子集。注意线程安全,可选synchronizedList()、Vector或CopyOnWriteArrayList。理解List的基本操作和特性,能提升编程效率。
|
1天前
|
XML Java 数据格式
一篇文章讲明白java的常用定时任务的几种方式
一篇文章讲明白java的常用定时任务的几种方式
|
1天前
|
Java 编译器
一篇文章讲明白java键盘输入多种方法
一篇文章讲明白java键盘输入多种方法
|
4天前
|
缓存 NoSQL Java
Redis系列学习文章分享---第四篇(Redis快速入门之Java客户端--商户查询缓存+更新+双写一致+穿透+雪崩+击穿+工具封装)
Redis系列学习文章分享---第四篇(Redis快速入门之Java客户端--商户查询缓存+更新+双写一致+穿透+雪崩+击穿+工具封装)
9 0
|
4天前
|
存储 NoSQL Java
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
6 0
|
4天前
|
存储 NoSQL Java
Redis系列学习文章分享---第二篇(Redis快速入门之Java客户端--Jedis+连接池+SpringDataRedis+RedisTemplate+RedisSerializer+Hash)
Redis系列学习文章分享---第二篇(Redis快速入门之Java客户端--Jedis+连接池+SpringDataRedis+RedisTemplate+RedisSerializer+Hash)
6 0
|
4天前
|
XML 安全 Java
一篇文章讲明白JAVA常用的工具类
一篇文章讲明白JAVA常用的工具类