• 技术文章 >后端开发 >Python教程

    python怎么保留两位小数

    青灯夜游青灯夜游2023-01-05 17:51:44原创117

    方法:1、用字符串格式化,语法“print("%.2f" % a)”;2、用round内置函数,语法“round(a, 2)”;3、用decimal模块,语法“Decimal(a).quantize(Decimal("0.00"))”;4、用序列切片,语法“str(a).split('.')[0]+'.'+str(a).split('.')[1][:2]”;5、用re模块。

    本教程操作环境:windows7系统、python3版,DELL G3电脑

    很多小伙伴在学习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模块

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

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

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

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

    使用序列切片

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

    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)) #使用正则匹配,将符合规则(一个小数点前有很多位数字,小数点后面只有两位数字的片段)字符串片段取出

    【相关推荐:Python3视频教程

    以上就是python怎么保留两位小数的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:python
    上一篇:python中怎么合并两个列表 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一起聊聊在python中读取和写入CSV文件• 详细总结:Python列表list知识点• Python安装第三方库常用方法总结• 浅析vscode中怎么利用anaconda导入python库• 浅析vscode环境中导入python库的三种方法
    1/1

    PHP中文网