Java int除法只取整数 javaint取整函数

发布时间:2023-05-18 09:21:24

数字在日常开发中经常遇到,数据场景中会遇到取整,java提供取整函数。看java.lang.在Math类中取整函数的用法。

一、概述

java.lang.Math类中有三个与取整相关的函数,即ceil()、floor()、round()方法。所谓取整,就是放弃小数位,保留整数位,但是如何放弃和保留每种方法的处理方法都不一样,看具体用法。

二、ceil()方法详细说明

ceil方法的作用是向上取整。以下是方法的定义,

Java int除法只取整数 javaint取整函数_System

接收double类型的参数,返回double类型。

正数情况

以下是参数为正数的情况,ceil是如何取整的,

package com.example.demo.test;public class TestMathCeilPost {    public static void main(String[] args) {        //定义double类型        double b=12.5;        double b2=12.1;        ///向上取整        double d=Math.ceil(b);        double d2=Math.ceil(b2);        ///转化为int类型        int a=Double.valueOf(d).intValue();        int a2=Double.valueOf(d2).intValue();        System.out.println(b+调用Math.ceil方法后的值为:“+a);        System.out.println(b2+调用Math.ceil方法后的值为:“+a2);    }}

看看执行结果,

Java int除法只取整数 javaint取整函数_取整_02

从以上结果可以看出,正数情况下是向上取整,即大于原始结果的最小正数,

负数情况

看负数的情况,

package com.example.demo.test;public class TestMathCeilNegative {    public static void main(String[] args) {        //定义double类型        double b=-12.5;        double b2=-12.1;        ///向上取整        double d=Math.ceil(b);        double d2=Math.ceil(b2);        ///转化为int类型        int a=Double.valueOf(d).intValue();        int a2=Double.valueOf(d2).intValue();        System.out.println(b+调用Math.ceil方法后的值为:“+a);        System.out.println(b2+调用Math.ceil方法后的值为:“+a2);    }}

看看执行结果,

Java int除法只取整数 javaint取整函数_取整_03

可以看出,它也是取大于给定数的最小负整数。

floor()

floor方法的作用是向下取整,方法定义如下,

Java int除法只取整数 javaint取整函数_Math_04

正数情况

看正数情况,

package com.example.demo.test;public class TestMathFloorPost {    public static void main(String[] args) {        //定义double类型        double b=12.5;        double b2=12.1;        ///向下取整        double d=Math.floor(b);        double d2=Math.floor(b2);        ///转化为int类型        int a=Double.valueOf(d).intValue();        int a2=Double.valueOf(d2).intValue();        System.out.println(b+调用Math.flor方法后的值为:"+a);        System.out.println(b2+调用Math.flor方法后的值为:"+a2);    }}

看看执行结果,

Java int除法只取整数 javaint取整函数_Math_05

从以上结果可以看出,floor方法是在正数情况下取小于给定数的最大正数。

负数情况

看负数,

package com.example.demo.test;public class TestMathFloorNegative {    public static void main(String[] args) {        //定义double类型        double b=-12.5;        double b2=-12.1;        ///向下取整        double d=Math.floor(b);        double d2=Math.floor(b2);        ///转化为int类型        int a=Double.valueOf(d).intValue();        int a2=Double.valueOf(d2).intValue();        System.out.println(b+调用Math.flor方法后的值为:"+a);        System.out.println(b2+调用Math.flor方法后的值为:"+a2);    }}

看看执行结果,

Java int除法只取整数 javaint取整函数_取整_06

从以上结果可以看出,floor方法在负数情况下,是取小于给定数的最大正数。

round()

根据方法定义,round方法的作用是“四舍五入”,

Java int除法只取整数 javaint取整函数_取整_07

floatt参与方法的输入、double,与此int相对应的出参、long。以double为例。

正数情况

看正数的情况,

package com.example.demo.test;public class TestMathRoundPost {    public static void main(String[] args) {        //定义double类型        double b=12.5;        double b2=12.1;        ///向上取整        double d=Math.round(b);        double d2=Math.round(b2);        ///转化为int类型        int a=Double.valueOf(d).intValue();        int a2=Double.valueOf(d2).intValue();        System.out.println(b+调用Math.round方法后的值为:"+a);        System.out.println(b2+调用Math.round方法后的值为:“+a2);    }}

看看执行结果,

Java int除法只取整数 javaint取整函数_取整_08

看执行结果就是数学上的四舍五入运算,得到结果。

负数情况

看负数情况,

package com.example.demo.test;public class TestMathRoundNegative {    public static void main(String[] args) {        //定义double类型        double b=-12.6;        double b2=-12.1;        double b3=-12.5;        double d=Math.round(b);        double d2=Math.round(b2);        double d3=Math.round(b3);        ///转化为int类型        int a=Double.valueOf(d).intValue();        int a2=Double.valueOf(d2).intValue();        int a3=Double.valueOf(d3).intValue();        System.out.println(b+调用Math.round方法后的值为:"+a);        System.out.println(b2+调用Math.round方法后的值为:“+a2);        System.out.println(b3+调用Math.round方法后的值为:“+a3);    }}

看看执行结果,

Java int除法只取整数 javaint取整函数_取整_09

从以上结果可以看出,负数情况下不是简单的“四舍五入”,而是XXX.在5的情况下,小数位上的数字小于等于5,放弃小数位,保留整数位数;小数位上的数字大于5,放弃小数位,加-1;

三、总结

本文分析了Math类ceil、floor、round函数,

ceil

在正数和负数的情况下,都是向上取整,这里的向上指的是取大于给定数字的最小整数,例如,ceil(12.3)-->13.0 ceil(-12.6)-->-12.0

floor

在正数和负数的情况下,都是向下取整,这里的向下指的是小于给定数字的最大整数,例如,floor(12.3)-->12.0 floor(-12.6)-->-13.0

round

正数是数学上的四舍五入,例如,round(12.3)-->12 round(12.5)-->13

在正数情况下,要注意小数位的数字,小于等于5,然后放弃小数位;大于5,则加-1,例round(-12.3)-->-12 round(-12.5)-->-12 round(-12.6)-->-13

如有不正之处,请指正,谢谢!

本文是转载内容,我们尊重原作者对文章的权利。如有内容错误或侵权行为,请联系我们更正或删除文章。

上一篇 Java LED点阵字生成 点阵字体生成
下一篇 Java save Java saveformat

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题