001-取整函数(ceil、floor、round)

2023-11-04

取整函数主要有三种:ceil()、floor()、round()

1. ceil() 向上取整

函数名: ceil
用 法: double ceil(double x);
功 能: 返回大于或者等于指定表达式的最小整数。
头文件:math.h
返回数据类型:double

package com.test;

public class CeilTest {

    private static final double[] TEST_DATA = {1, 1.3, 1.6, 0, -1, -1.3, -1.6 };

    public static void main(String[] args) {
        for(double num : TEST_DATA){
            test(num);
        }
    }

    public static void test(double num){
        System.out.println(num+"的Math.ceil结果:"+Math.ceil(num));
    }
}

在这里插入图片描述
向上取整的时候,正数,则直接将当前整数加一;
负数,则将整数后面的数据抹除;
整数,则不变。

2. floor() 向下取整

说明
在C语言的库函数中,floor函数的语法如下:
#include <math.h>
double floor( double arg );
功能: 函数返回不大于arg的最大整数值。

#include <math.h>
#include <stdio.h>
int main(void) {
    printf("floor(+2.7) = %+.1f\n", floor(2.7));
    printf("floor(-2.7) = %+.1f\n", floor(-2.7));
    printf("floor(-0.0) = %+.1f\n", floor(-0.0));
    printf("floor(-Inf) = %+f\n",   floor(-INFINITY));
}
//程序执行结果
floor(+2.7) = +2.0
floor(-2.7) = -3.0
floor(-0.0) = -0.0
floor(-Inf) = -inf
package com.test;

public class CeilTest {

    private static final double[] TEST_DATA = {1, 1.3, 1.6, 0, -1, -1.3, -1.6 };

    public static void main(String[] args) {
        for(double num : TEST_DATA){
            test(num);
        }
    }
    public static void test(double num){
        System.out.println(num+"的Math.floor结果:"+Math.floor(num));
    }
}

在这里插入图片描述

3. round() 四舍五入

Round函数返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。

语法
round(number,digits)
参数
number,要四舍五入的数,digits是要小数点后保留的位数

如果 digits 大于 0,则四舍五入到指定的小数位。
如果 digits 等于 0,则四舍五入到最接近的整数。
如果 digits 小于 0,则在小数点左侧进行四舍五入。
如果round函数只有参数number,等同于digits 等于 0。

返回值
四舍五入后的值

=ROUND(3.19, 1) 将 3.19 四舍五入到一个小数位 (3.2)
=ROUND(2.649, 1) 将 2.649 四舍五入到一个小数位 (2.6)
=ROUND(-5.574, 2) 将 -5.574 四舍五入到两小数位 (-5.57)
=ROUND(18.8, -1) 将 18.8 四舍五入到小数点左侧一位 (20)。这个参数-1表示取整到十位数。

package com.test;

public class CeilTest {

    private static final double[] TEST_DATA = {1, 1.3, 1.6, 0, -1, -1.3, -1.6 };

    public static void main(String[] args) {
        for(double num : TEST_DATA){
            test(num);
        }
    }
    public static void test(double num){
        System.out.println(num+"的Math.round结果:"+Math.round(num));
    }
}

在这里插入图片描述

4.拓展

Roundup函数
Rounddown函数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

001-取整函数(ceil、floor、round) 的相关文章

随机推荐

  • [Go版]算法通关村第二关白银——两两交换链表中的节点问题解析

    目录 题目 两两交换链表中的节点 解决方法 思路分析 Go代码 画图说明 题目 两两交换链表中的节点 题目链接 LeetCode 24 两两交换链表中的节点 解决方法 源码地址 GitHub golang版本 思路分析 让虚拟头结点指向链表
  • Code For Better 谷歌开发者之声 ——Tensorflow与深度学习

    给大家推荐一款丧心病狂的API测试工具 Apifox Apifox 是接口管理 开发 测试全流程集成工具 定位 Postman Swagger Mock JMeter 点击此处跳转体验 目录 一 TensorFlow简介 二 机器学习与深度
  • 米家接入HomeKit系列一:接入基本原理与开篇

    系列文章 米家接入HomeKit系列一 接入基本原理与开篇 米家接入HomeKit系列二 通过群辉NAS的Docker搭建HomeAssistant 米家接入HomeKit系列三 HomeAssistant接入米家网关 米家接入HomeKi
  • 在Android模拟器上安装Google Play

    问题 我想在模拟器上安装Google Play 问题是网上没有指南可以准确地告诉我该怎么做 我不知道为什么 似乎他们使用的是旧版Android Market 3版之前的版本 或者至少有人展示了一些截图 但我无法使其在家里使用 所不同的是 我
  • Apriori

    Apriori 从大规模数据集中寻找物品间的隐含关系被称作关联分析 association analysis 或者关联规则学习 association rule learning 那么什么是关联分析呢 关联分析是一种在大规模数据集中寻找有趣
  • 星星之火-54:量子通信前序,什么是传统的纵观世界的“电”通信?

    目录 1 物质的组成 2 声波信号 声 3 光信号 光 4 电信号 电 5 电磁波信号 磁 6 光电效应 1 物质的组成 1 组成关系 2 分子 分子是由组成的原子按照一定的键合顺序和空间排列而结合在一起的整体 这种键合顺序和空间排列关系称
  • 使用Markdown编写矩阵公式

    直接上代码 我是在有道云上用的markdown math left begin matrix x y z w end matrix right left begin matrix w z y x z w x y y x w z x y z
  • Vue实现二维码,让你的数据轻松传递

    前言 在我们生活中 二维码的应用越来越广泛 特别是在移动互联网的时代 二维码成为了快速传达信息的一种利器 在这篇文章中 我们将会介绍如何在Vue框架下 实现一个具备扫描和查看数据的二维码 在这一篇文章中 我们将会使用到以下两个库 qrcod
  • 看完这篇 教你玩转渗透测试靶机Vulnhub——DriftingBlues-3

    Vulnhub靶机DriftingBlues 3渗透测试详解 Vulnhub靶机介绍 Vulnhub靶机下载 Vulnhub靶机漏洞详解 信息收集 反弹shell ssh私钥登入 命令劫持提权 Vulnhub靶机渗透总结 Vulnhub靶机
  • H3C S5500-52C-EI SSH 服务器发送了断开连接数据包

    错误提示 服务器发送了断开连接数据包 The connection is closed by SSH Server code 2 处理操作 1 确认设备版本 2 生成本地RSA密钥对 3 使能SSH服务器功能 SW47 ssh server
  • 5. react 组件拆分 和 组件传值

    1 将 todoList 进行拆分 创建 编写TodoList js import React Component Fragment from react import TodoItem from TodoItem class TodoLi
  • JAVA Web项目开发SSM框架搭建(第一天)

    所属专栏 Java Web项目构建过程 作 者 我是夜阑的狗 个人简介 一个正在努力学技术的码仔 专注基础和实战分享 欢迎咨询 欢迎大家 这里是CSDN 我总结知识的地方 喜欢的话请三连 有问题请私信 您的点赞 关注 收藏 评论 是对我最大
  • YOLO物体检测-系列教程7:YOLOV3源码解读5之 Darknet

    7 Darknet 7 1 配置文件 配置文件 项目位置 PyTorch YOLOv3 config yolov3 cfg 部分参数展示 batch 16 subdivisions 1 width 416 convolutional bat
  • PHPCMS \phpcms\modules\member\index.php 用户登陆SQL注入漏洞分析

    catalog 漏洞描述 漏洞触发条件 漏洞影响范围 漏洞代码分析 防御方法 攻防思考 漏洞描述 漏洞触发条件 0x1 POC http localhost phpcms v9 index php m member c index a lo
  • ICCAVR 7.22 编译出现Cannot include source file “XX.X“ file not found的终极解决方法

    经常出现如下现象 之前编译好的工程项目 拷贝到其它盘或者其它文件夹或者将最外层文件夹重命名再编译 就会出现Cannot include source file XX X file not found的错误信息 如何彻底解决呢 本文给出了终极
  • HttpClient系统日志配置

    详细介绍在 http hc apache org httpclient 3 x logging html 一般使用context logging基本够用 context logging解释原文如下 context logging Conte
  • 如何在数据库事务提交成功后进行异步操作

    问题 业务场景 业务需求上经常会有一些边缘操作 比如主流程操作A 用户报名课程操作入库 边缘操作B 发送邮件或短信通知 业务要求 操作A操作数据库失败后 事务回滚 那么操作B不能执行 操作A执行成功后 操作B也必须执行成功 如何实现 普通的
  • AFL++ (PlusPlus) 介绍与实践

    文章目录 一 AFL 简介 缝合块 AFL基础款 1 基于覆盖率指标的反馈 2 变异 3 fork 服务器 基于智能调度的加强版 1 AFLFast 2 MOpt 基于绕过障碍的加强版 1 LAF Intel https lafintel
  • R语言作图——histogram(直方图)

    原创 黄小仙 最近小仙同学很是烦恼 本以为自己已经掌握了ggplot2作图的语法 用read csv ggplot geom point boxplot violinplot 就可以画遍天下图表 结果却发现到真正画图的时候 还是会出现不少的
  • 001-取整函数(ceil、floor、round)

    取整函数 ceil floor round 1 ceil 向上取整 2 floor 向下取整 3 round 四舍五入 4 拓展 取整函数主要有三种 ceil floor round 1 ceil 向上取整 函数名 ceil 用 法 dou