python浮点数去掉小数点后的0,为什么python除法结果会有小数点0
本文主要介绍了利用Python去除小数点后多余的零的问题,有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。
目录
Python删除小数点后多余的0 Python删除数字前的0
Python去除小数点后面多余的0
最近在写Python导入数据的脚本。百度必应搜了很多,没有完美的解决方案。
在这里,我还是要吐槽一下百度,真的很垃圾。
后来,FQ谷歌了它,当第一个条目出来时,它找到了一种方法。
我搬过来整理一下,使用时可能遇到的问题。对希望看到这篇文章的读者很有用。
首先介绍头文件。
从十进制导入十进制
举个例子
编号100.2000
第一次用十进制( 100.2000 )。normalize()这样,100.2的结果就是想要的结果。
但是,normalize()有一个问题。如果是100.00000,则与decimal相同(“100.0000”)。normalize()得到的结果是1E 2。
那么这种情况该怎么办呢?就是“to_integral”的另一种用法,像这样:Decimal(100.000 )。to_integral()得到的结果是100,这是想要的结果。
两种兼容性如何更好?你可以在去掉多余的0后,先判断它们是否相等:
十进制( 100.2000)==十进制( 100.2000 )。to _ integral()
错误的
Decimal( 100.0000 )==Decimal( 100.0000 )。to _ integral()
真实的
根据这个判断,你可以自己写一个函数。
def remove_exponent(数字):
如果num==num.to_integral()else num . normalize(),则返回num . to _ integral()
最后调用这个函数,下面是上面例子的结果。
移除指数(十进制( 100.2000 ))
十进制( 100.2 )
移除指数(十进制( 100.0000 ))
十进制( 100 )
移除指数(十进制( 0.2000 ))
十进制( 0.2 )
这里的输出是一个十进制类型,因为这个类型在被调用的方法中。它可以直接作为一个浮动使用。如果要改成字符串类型,用str()把上面的结果包装起来就行了,这个就不解释了。
这样就解决了题目中提到的去掉小数点后多余的零的问题。
Python去掉数字前面的0
有时文件编号是通过在前面加零自动生成的,当我们需要读取这些文件名对应的编号时,前面的零会给判决语句带来麻烦。那么我们如何去除前面的零呢?
因为Python默认转换成字符串时忽略前面的0,所以可以通过格式转换来实现:
str(000001)
1
int(str(000001))
任何人
以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。