Python_四舍五入

news/2024/9/2 23:34:30 标签: python

一、round()函数

round(number[, ndigits])

round 对传入的数据进行四舍五入,如果ngigits不传,默认是0, 但是对一些数的进行四舍五入的时候,在遇到5的时间,会不进一位:

print(round(2.55,1))
>>2.5

这是2.55在存的时候,并不是2.55,而是2.5499……

print('%.20f'%2.55)
>>2.54999999999999982236

二、四舍五入

因此要解决四舍五入这个问题,不能用round(),就写了新的函数:

def round_fix(num, digit):
    if isinstance(num, int):
        num = float(num)

    if not isinstance(num, float):
        print("TypeError: a float or int is required")
        return

    left, right = str(num).split('.')
 
    if digit >= len(right):
        return num
    else:
        # 四舍五入
        right_int = int(right[0:digit])
        if int(right[digit]) >= 5:
            right_int += 1
        ans = "{}.{}".format(left, right_int)
        return float(ans)

print(round(2.55,1))
>>2.5
print(round_fix(2.55,1))
>>2.6
print(round_fix(2.5423,1))
>>2.5


http://www.niftyadmin.cn/n/735281.html

相关文章

Jest 入门: Jest 核心 API 多环境运行配置实现前端测试

Jest 入门: Jest 核心 API & 多环境运行配置实现前端测试 文章目录Jest 入门: Jest 核心 API & 多环境运行配置实现前端测试前言正文0. 要测试什么?1. 启用 Jest 测试框架 & 多环境配置1.1 安装依赖 & 初始化项目1.2 基础 NodeJS 环境测试1.3 搭配 …

Python _多文件入表中的记录

一、需要把多个文件读写进附件2与附件3中,其中涉及到表中的表头与文件字段名不同,因此需要处理表头与文件的对应相关,在整体的写进过程中,还存在租户名的情况,因此也处理把报错的租户名进行处理,还一此其它…

Webpack 实战: 多入口项目打包 代码拆分实战分享

Webpack 实战: 多入口项目打包 & 代码拆分实战分享 文章目录Webpack 实战: 多入口项目打包 & 代码拆分实战分享前言多入口:多页面、跨端正文1. 单入口配置1.1 安装依赖1.2 单入口配置文件1.3 基础项目代码1.4 初次打包 & 查看运行结果2. 多入口配置2.1 …

python_按规定的长度补为0

一、列表 按规定的长度补为0 (一)把列表补充为5长度的列表 mylist [2, 3, 5] mylist5 mylist [0] * (5 - len(mylist)) print(mylist5) 结果:[2, 3, 5, 0, 0] (二)二维列表,补充为5的长度 mylist …

JS 基础: RegExp 正则表达式完整理解与应用

JS 基础: RegExp 正则表达式完整理解与应用 文章目录JS 基础: RegExp 正则表达式完整理解与应用前言正文0. 什么是正则表达式?1. JS 中与正则表达式相关的方法1.0 JS 中正则表达式的构造方法:字面量、RegExp 构造函数1.1 RegExp.prototype.test(string)1…

最新“量子纠缠”原子使量子计算机更进一步

科学家们已经制造出了迄今为止最大最复杂的量子计算机网络,得到了20个不同的纠缠量子比特(或量子比特)来相互通信。然后团队可以读出所有这些所谓的量子位中包含的信息,为计算机创建一个量子“短期记忆”的原型。虽然过去的努力使…

Vue 踩坑笔记: 引入 ElementUI 时打包失败修复记录(ERROR in ./node_modules/element-ui/lib/theme-chalk/index.css)

Vue 踩坑笔记: 引入 ElementUI 时打包失败修复记录(ERROR in ./node_modules/element-ui/lib/theme-chalk/index.css Module build failed: ModuleBuildError: Module build failed: TypeError: this.getOptions is not a function) 文章目录Vue 踩坑笔记: 引入 ElementUI 时打…

如何实现数组查找

牛客网上的问题描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 自己写了一个很简单…