当前位置: 首页 > news >正文

在Python中对一个数取整

1.向下取整

使用 math.floor() 函数可以将一个数向下取整,即取不大于该数的最大整数。

import math
num = 3.7
result = math.floor(num)
print(result)  # 输出 3

对于负数,math.floor() 会取更小的整数:

num = -3.7
result = math.floor(num)
print(result)  # 输出 -4

2.向上取整

使用 math.ceil() 函数可以将一个数向上取整,即取不小于该数的最小整数。

import math
num = 3.2
result = math.ceil(num)
print(result)  # 输出 4

对于负数,math.ceil() 会取更大的整数:

num = -3.2
result = math.ceil(num)
print(result)  # 输出 -3

3.向零取整

直接使用 int() 函数可以将一个浮点数转换为整数,但这种方式是向零取整,即去掉小数部分。

num = 3.7
result = int(num)
print(result)  # 输出 3

num = -3.7
result = int(num)
print(result)  # 输出 -3

4.四舍五入取整

使用内置的 round() 函数可以对一个数进行四舍五入取整。

num = 3.7
result = round(num)
print(result)  # 输出 4

num = 3.2
result = round(num)
print(result)  # 输出 3

需要注意的是,当小数部分为 0.5 时,round() 的行为可能与预期不同。在 Python 中,round() 采用的是“银行家舍入法”,即如果小数部分为 0.5,会将数字舍入到最接近的偶数

num = 3.5
result = round(num)
print(result)  # 输出 4

num = 4.5
result = round(num)
print(result)  # 输出 4

5.标准四舍五入

在 Python 中,可以使用 math 模块中的 floor()ceil() 函数来实现标准四舍五入。

import math

def standard_round(num):
    if num - math.floor(num) < 0.5:
        return math.floor(num)
    else:
        return math.ceil(num)

# 测试
print(standard_round(3.4))  # 输出 3
print(standard_round(3.5))  # 输出 4
print(standard_round(3.6))  # 输出 4
print(standard_round(-3.4))  # 输出 -3
print(standard_round(-3.5))  # 输出 -4
print(standard_round(-3.6))  # 输出 -4

http://www.dtcms.com/a/122144.html

相关文章:

  • Rust在航空电子软件开发中的可行性研究:现状与展望
  • Kafka生产者和消费者:数据管道的核心引擎与智能终端
  • 【学习笔记】字符串string的常用处理方法(C++)
  • 批量给 jpg/png 等格式图片添加文字水印或图片水印
  • 算法训练之位运算
  • 记一次ubantu搭建vulhub靶场。从docker安装到拉取vulhub靶场一条龙服务
  • 数据结构刷题之贪心算法
  • Apache Nifi安装与尝试
  • 从政策引领到实战应用:消防救援“一张图”的蜕变之路
  • B站充电视频下载器(需配合会员Cookie使用,仅供学习交流,Python)
  • 【Ubuntu】超详细安装Ubuntu系统
  • 头歌 | WPS 文档 设置样式
  • Python+Requests 企业级接口测试入门(1~3天)
  • Spark Core编程
  • 智能 SQL 优化工具 PawSQL 月度更新 | 2025年3月
  • Android学习总结之自定义View实战篇
  • 探究按摩养生门店危机:上门服务成 “搅局者”
  • Python安装软件包报错 fatal error: Python.h: No such file or directory
  • python reportlab模块----操作PDF文件
  • 请回答集成测试和系统测试的区别,以及它们的应用场景主要是什么?
  • 解决华硕主板Z890m下载ubuntu20.04后没有以太网问题
  • 【免费】在线工具网址
  • CSS空间转换
  • 第十四届蓝桥杯Scratch03月stema选拔赛真题——绘制彩虹
  • pycharm编译部署智能合约(solcx与web3搭配)
  • crossorigin是什么?【你了解前端的crossorigin吗?!】
  • mapbox基础,加载F4Map二维地图
  • Scala相关知识学习总结6
  • GPT-4o-image模型:开启AI图片编辑新时代
  • Windows Terminal 美化增强攻略 2.0:打造个性化高效开发环境(快捷键介绍、编程语言环境、starship美化、高效命令行工具)