本文介绍: 很多小伙伴学习python时候可能会遇到对数据进行格式化输出需求,其中最常见需求为:保留几位小数今天小编就以python怎么保留两位小数为例,来介绍一下python数据格式化的方法

很多小伙伴学习python时候可能会遇到对数据进行格式化输出需求,其中最常见需求为:保留几位小数今天小编就以python怎么保留两位小数为例,来介绍一下python数据格式化的方法。

使用字符串格式化

部分语言可以使用字符串格式化的方法来实现保留两位小数效果python也不例外:

a = 12.345
print("%.2f" % a) # %代表格式化输出,.2代表小数点后保留两位,f代表数据类型是浮点型

使用round内置函数

python内置一个名为round函数,这个函数可以用来数据进行格式化代码如下

a = 12.345
a1 = round(a, 2) #将a通过round函数处理赋值给a1,传入的2代表保留两位小数
print(a1)

使用decimal模块

类似于javapython也专门提供了一个decimal模块用于精确运算,它也可以行数据的格式化输出代码如下:

from decimal import Decimal
a = 12.345
Decimal(a).quantize(Decimal("0.00")) # 使用默认进位方式(同round)“0.00”表示保留小数点后两位

注:pythonround采用进位方式比较特殊,有点类似于四舍五入,但准确的来说应该叫四舍六入五成双。有兴趣的小伙伴可以了解一下数值修约和基进偶舍。

以上就是常规的保留两位小数的方法,接下来介绍两种非常规的方法(使用字符串处理的方法,这种方法仅保留两位小数,不做四舍五入)

使用序列切片

原理简单,只要找到小数点然后进行切片即可代码如下:

a = 12.345
str(a).split('.')[0] + '.' + str(a).split('.')[1][:2] #使用序列切片方式,切出小数点前的数据,还有小数点后两位的数据然后进行拼装

使用re模块

类似于切片,不过这次使用正则匹配定位数点位置

import re
a = 12.345
re.findall(r"d{1,}?.d{2}", str(a)) #使用正则匹配,将符合规则一个数点前有很多位数字,小数点后面只有两位数字的片段字符串片段取出

小结

以上就是python怎么保留两位小数的五种方法。这五种方法各有自己优缺点,读者可以自行选择

原文地址:https://blog.csdn.net/m0_69824302/article/details/132320677

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_26866.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注