欢迎访问宙启技术站
智能推送

如何使用Java中的Math工具类实现数字取整的函数

发布时间:2023-05-20 01:42:17

Java中的Math工具类提供了很多数学运算的方法,包括取整函数。取整函数根据需求可以分为四种:向上取整、向下取整、四舍五入、去尾保留整数部分。

1.向上取整

向上取整是指将一个小数向上取整为离它最近的整数。例如,3.2向上取整为4,-3.2向上取整为-3。

Java中实现向上取整的函数为Math.ceil(),该方法的实现原理是先将参数转换成double类型,然后向上取整得到一个最小的double类型整数,最后将该整数转换为int类型返回。

public static int ceil(double a) {
    return (int) Math.ceil(a);
}

2.向下取整

向下取整是指将一个小数向下取整为离它最近的整数。例如,3.8向下取整为3,-3.8向下取整为-4。

Java中实现向下取整的函数为Math.floor(),该方法的实现原理类似于向上取整,先将参数转换成double类型,然后向下取整得到一个最大的double类型整数,最后将该整数转换为int类型返回。

public static int floor(double a) {
    return (int) Math.floor(a);
}

3.四舍五入

四舍五入是指将一个小数按照规定的精度进行保留,保留的位数后面的小数部分按照四舍五入的规则来处理。例如,3.567保留2位小数,四舍五入得到3.57,-3.567保留2位小数,四舍五入得到-3.57。

Java中实现四舍五入的函数为Math.round(),该方法的实现原理是先将参数转换成double类型,然后将小数部分加上0.5,再向下取整得到一个最接近的double类型整数,最后将该整数转换为int类型返回。

public static int round(double a) {
    return (int) Math.round(a);
}

4.去尾保留整数部分

去尾保留整数部分是指将一个小数仅保留整数部分,小数部分被去掉。例如,3.8去尾保留整数部分得到3,-3.8去尾保留整数部分得到-3。

Java中实现去尾保留整数部分的函数为Math.floor(),该方法的实现原理同向下取整函数,先将参数转换成double类型,然后向下取整得到一个最大的double类型整数,最后将该整数转换为int类型返回。

public static int truncate(double a) {
    return (int) Math.floor(a);
}

综上所述,Java中的Math工具类提供了多种取整函数,可以根据需求选择合适的函数来实现数字取整的功能。