为什么python除法结果会有小数点0_在Python中删除小数点后的尾随零

您可以使用正则表达式执行此操作:

import re

rgx = re.compile(r'(?:(\.)|(\.\d*?[1-9]\d*?))0+(?=\b|[^0-9])')

b = rgx.sub('\2',a)

其中b是从a中删除小数点后的尾零的结果.

我们可以用一个不错的函数编写它:

import re

tail_dot_rgx = re.compile(r'(?:(\.)|(\.\d*?[1-9]\d*?))0+(?=\b|[^0-9])')

def remove_tail_dot_zeros(a):

return tail_dot_rgx.sub(r'\2',a)

现在我们可以测试一下:

>>> remove_tail_dot_zeros('2.00')

'2'

>>> remove_tail_dot_zeros('200')

'200'

>>> remove_tail_dot_zeros('150')

'150'

>>> remove_tail_dot_zeros('2.59')

'2.59'

>>> remove_tail_dot_zeros('2.50')

'2.5'

>>> remove_tail_dot_zeros('2.500')

'2.5'

>>> remove_tail_dot_zeros('2.000')

'2'

>>> remove_tail_dot_zeros('2.0001')

'2.0001'

>>> remove_tail_dot_zeros('1500')

'1500'

>>> remove_tail_dot_zeros('1500.80')

'1500.8'

>>> remove_tail_dot_zeros('1000.50')

'1000.5'

>>> remove_tail_dot_zeros('200.50mt')

'200.5mt'

>>> remove_tail_dot_zeros('200.00mt')

'200mt'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值