广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用Python去除小数点后面多余的0问题
  • 816
分享到

使用Python去除小数点后面多余的0问题

2024-04-02 19:04:59 816人浏览 泡泡鱼

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

摘要

目录python去除小数点后面多余的0Python去掉数字前面的0Python去除小数点后面多余的0 最近在用Python 写导入数据的脚本。百度 必应搜了好多,都没有一个完美解决的

Python去除小数点后面多余的0

最近在用Python 写导入数据的脚本。百度 必应搜了好多,都没有一个完美解决的。

在这里还是要吐槽一下百度对于这些真的很垃圾。

后来FQ谷歌了一下,第一个词条出来就找到办法了。

这里我搬过来整理一下,以及使用时候可能遇到的问题。希望对看到这篇文章的读者有用

首先引入头文件

from decimal import Decimal

举个例子

数字 100.2000 

第一次 这么使用 Decimal('100.2000').nORMalize() 得到的结果 100.2  是想要的结果。

可是 normalize() 有个问题,如果是100.00000 同样  Decimal('100.0000').normalize()得到的结果就是1E+2

那么这种情况怎么办呢,就是换个方法 使用 “ to_integral ”,像这样:Decimal('100.000').to_integral() 得到结果是100,这才是想要的结果。 

那怎么才能更好的两种兼容呢,可以先做一个判断 在去除多余0之后 是否相等:

>>> Decimal('100.2000') == Decimal('100.2000').to_integral()
False
>>> Decimal('100.0000') == Decimal('100.0000').to_integral()
True

根据这个判断 可以自己写一个function

def remove_exponent(num):
    return num.to_integral() if num == num.to_integral() else num.normalize()

最后调用这个function 这里同样举上面几个例子得到的结果

>>> remove_exponent(Decimal('100.2000'))
Decimal('100.2')
>>> remove_exponent(Decimal('100.0000'))
Decimal('100')
>>> remove_exponent(Decimal('0.2000'))
Decimal('0.2')

这里输出是Decimal 类型 是因为 调用的方法里面就是这个类型的。可以直接当float用,如果想要换成string类型  就在用str() 包一下上面得到的结果就行啦,这个就不解释了 

这样就解决标题所说的去除小数点后面多余的0的问题了

Python去掉数字前面的0

有时候文件的编号是在前面自动补0生成的,而当我们需要读取这些文件名对应的编号时,前面的0会给判断语句造成麻烦,那么如何将前面的0去掉呢?

因为Python默认在转换成字符串时忽略前面的0,因此可以通过格式转换的方法实现去0:

>>> str(000001)
'1'
>>> int(str(000001))
1

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 使用Python去除小数点后面多余的0问题

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

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

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

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

下载Word文档
猜你喜欢
  • 使用Python去除小数点后面多余的0问题
    目录Python去除小数点后面多余的0Python去掉数字前面的0Python去除小数点后面多余的0 最近在用Python 写导入数据的脚本。百度 必应搜了好多,都没有一个完美解决的...
    99+
    2022-11-11
  • 如何使用Python去除小数点后面多余的0
    本文小编为大家详细介绍“如何使用Python去除小数点后面多余的0”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Python去除小数点后面多余的0”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Pytho...
    99+
    2023-07-02
  • Java中小数点后多余的0怎么使用正则表达式实现删除
    这篇文章给大家介绍Java中小数点后多余的0怎么使用正则表达式实现删除,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。具体如下:package test;public class TestString { public...
    99+
    2023-05-31
    java 正则表达式 ava
  • 使用BigDecimal去掉小数点后无用的0
    目录如题:BigDecimal去掉小数点后无用的0解决:BigDecimal,有方法解决stripTrailingZeros()demo方法二:Java BigDecimal 小数点...
    99+
    2022-11-12
  • 如何使用sessionStorage解决vuex在页面刷新后数据被清除的问题
    这篇文章主要介绍如何使用sessionStorage解决vuex在页面刷新后数据被清除的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.原因2.解决方法localStorage...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作