资讯专栏INFORMATION COLUMN

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

89542767 / 1558人阅读


  小编写这篇文章的主要目的,是给大家介绍关于怎么使用Python去除小数点后面存在0的问题,具体的一些操作,下面会给大家做出一个比较详细的解答。


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


  最近在用Python写导入数据的脚本。在网上搜了好多,没有找到相关资料。


  真的是找到了很多途径,最后还是在谷歌上面找到了相关的内容。


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


  首先引入头文件


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


  综上所述,关于Python去除小数点后面存在0的问题,就为大家介绍到这里了,希望可以给各位读者带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127803.html

相关文章

  • 史上最全 Python 3 类型转换指南

    摘要:支持转换为类型的,仅有,其他类型均不支持。如果中含有正负号数字和小数点以外的字符,则不支持转换。转换时,会自动添加虚数部分并以表示。转换会直接完全转换。转换列表,会取每个字节的十进制值并组合成列表转换为比较简单。 int 支持转换为 int 类型的,仅有 float、str、bytes,其他类型均不支持。 float -> int 会去掉小数点及后面的数值,仅保留整数部分。 int(-...

    libxd 评论0 收藏0
  • Python从入门到精通】五万六千字对Python基础知识做一个了结吧!(二十八)【值得收藏】

    摘要:它是一门解析型的语言,何为解析型语言呢就是在运行时通过解析器将源代码一行行解析成机器码。而像语言,等则是编译型的语言,即通过编译器将所有的源代码一次性编译成二进制指令,生成一个可执行的程序。 ...

    leeon 评论0 收藏0
  • 【思维导图】Python中常用8种字符串操作

    摘要:方法语法格式作用检索字符串是否以指定的字符串结尾,如果是则返回,否则返回。需要思维导图源文件的请留言你的邮箱。 文章末尾获取思维导图高清源文件showImg(https://segmentfault.com/img/remote/1460000019073701); 拼接字符串 使用+可以对多个字符串进行拼接语法格式:str1 + str2 >>> str1 = aaa >>> str...

    weij 评论0 收藏0
  • Python 2.x 与 Python 3.x 区别

    摘要:官方也宣布在停止对的维护。并且在很多面试过程中,面试官都会问与的区别。的版本,常被称为,或简称。与部分地支持这种形式的语法。捕获异常的语法由改为。在中,表示八进制字面量的方式只有一种,就是。已经支援新的模组。 前言 如果你是刚接触 Python 的初学者,那你可能是直接学习 Python 3.x 版本。对于 Python 2.x 的版本是不会有所接触。官方也宣布在 2020 停止对 P...

    LittleLiByte 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<