iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python保留指定位数的小数【5种方法】
  • 800
分享到

Python保留指定位数的小数【5种方法】

python开发语言 2023-08-31 15:08:58 800人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

1 %.2f’ %[变量] 【四舍五入】 可以在print()打印处使用,也可以赋值给新的变量进行输出 # 四舍五入方法a = 2.345566print('%.4f'% a)# 2.3456prin

1 %.2f’ %[变量] 【四舍五入】

可以在print()打印处使用,也可以赋值给新的变量进行输出

# 四舍五入方法a = 2.345566print('%.4f'% a)# 2.3456print('%.3f'% a)# 2.346print('%.2f'% a)# 2.35# 赋值给新的变量c = '%.2f'% aprint(c)# 2.35

2 fORMat函数【四舍五入】

可以在print()打印处使用,也可以赋值给新的变量进行输出

# 四舍五入方法a = 2.345566print(format(a, '.4f'))# 2.3456print(format(a, '.3f'))# 2.346# 赋值给新的变量c = format(a, '.4f')print(c)# 2.3456

3 直接截断【不进行四舍五入】

3.1 先放大指定倍数,后取整,后再除以指定倍数

1 保留三位小数:先×100,后int,后÷100

a = 2.345566c = int(a * 100) / 100print(c)# 2.34

2 保留三位小数:先×1000,后int,后÷1000

a = 2.345566c = int(a * 1000) / 1000print(c)# 2.345

3 保留四位小数:先×10000,后int,后÷10000

a = 2.345566c = int(a * 10000) / 10000print(c)# 2.3455

3.2 转为字符串进行字符串截取,截取小数点后指定的位数【不进行四舍五入】【不推荐有点麻烦】

a = 2.345566# 进行分割a_0 = str(a).split('.')[0]a_1 = str(a).split('.')[1]# 截取小数点后的a_point = a_1[0:2] # 截取2位# 字符串连接a_new = a_0 + '.' + a_point# 将string类型转换为float类型a_new_number = float(a_new)print(a_new_number)# 2.34

4 round()函数【精确的四舍五入,但无法保证相同的小数位数】

round(number, ndigits=None)
返回小数点后四舍五入到ndigits精度的数字。如果ndigits被省略或为None,它将返回与其输入最近的整数。
注意:
round()对于float的行为可能令人惊讶:例如,round(2.675,2)给出的是2.67,而不是预期的2.68。这不是一个错误:这是因为大多数十进制分数【decimal fractions】不能精确地表示为浮点值。

在这里插入图片描述

5 Numpy数组 np.set_printoptions【四舍五入】

只可以打印处使用,不可以赋值

np.set_printoptions(precision=3, suppress=True, formatter={})
precision:保留几位小数,后面不会补0
supress:对很大/小的数都不使用科学计数法 (True)
formatter:强制格式化,后面会补0

import numpy as npa = np.random.random(3)print('before set precision: \n',a) np.set_printoptions(precision=3, suppress=True)print('after set precision: \n',a) np.set_printoptions(formatter={'float': '{: 0.3f}'.format})print('after set formatter: \n',a)# before set options:# [ 0.05856348 0.5400039 0.70000603]# after set precision:# [ 0.059 0.54 0.7]# after set formatter:【强制补0】# [ 0.059 0.540 0.700]

6 总结

第 1、2、4三种方法可以进行四舍五入,可以对变量赋值
第3种方法不可以进行四舍五入,可以对变量赋值
第5种方法可以进行四舍五入,但不可以赋值


学习链接:

来源地址:https://blog.csdn.net/weixin_45913084/article/details/130472886

--结束END--

本文标题: Python保留指定位数的小数【5种方法】

本文链接: https://www.lsjlt.com/news/386030.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作