在Python中删除小数点后的尾随零

2024-04-20

我正在使用Python 2.7。我需要更换"0"字符串在末尾。

比如说,a =“2.50”:

 a = a.replace('0', '')

我得到 a = 2.5,我对这个结果很满意。

现在a =“200”:

 a = a.replace('0', '')

我得到 a = 2,这个输出是按照我同意的设计的。但我预计输出 a = 200。

其实我正在寻找的是

当末尾小数点后的任何值是"0"替换那个"0"无值。

以下是示例,我期待结果。

IN: a = "200"
Out: a = 200
In: a = "150"
Out: a = 150
In: a = 2.50
Out: a = 2.5
In: a = "1500"
Out: a = 1500
In: a = "1500.80"
Out: a = 1500.8
In: a = "1000.50"
Out: a = 1000.5

不是一个值是字符串。

注意:有时a = 100LL or a = 100.50mt.


您可以使用正则表达式:

import re

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

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

Where 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'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python中删除小数点后的尾随零 的相关文章

  • 如何在算术表达式的结果上添加 SQLAlchemy 标签?

    我如何将这样的东西翻译成 SQLAlchemy select x y as difference 我知道该怎么做 x label foo 但我不确定在哪里放置下面的 label 方法调用 select table c x table c y
  • DataFrame 中的字符串,但 dtype 是对象

    为什么 Pandas 告诉我我有对象 尽管所选列中的每个项目都是一个字符串 即使在显式转换之后也是如此 这是我的数据框
  • Pytest:如何使用从夹具返回的列表来参数化测试?

    我想使用由固定装置动态创建的列表来参数化测试 如下所示 pytest fixture def my list returning fixture depends on other fixtures return a dynamically
  • 克隆代码更改在开发站点中不可见

    我对克隆很陌生 我在 eclipse 中有一个项目文件夹 我是从cvs项目导入的 我有 zope 作为服务器 我启动 zope bin instance restart 当我在文件夹中进行更改时 我无法在开发网站中看到更改 我似乎无法发现发
  • 如何在“python setup.py test”中运行 py.test 和 linter

    我有一个项目setup py文件 我用pytest作为测试框架 我还在我的代码上运行各种 linter pep8 pylint pydocstyle pyflakes ETC 我用tox在多个 Python 版本中运行它们 并使用以下命令构
  • 为 PyCharm 中的所有配置设置相同的环境变量

    我有一个与 Celery 和很多不同的工作人员一起的项目 如何避免每次将 PyCharm 中的环境变量复制粘贴到每个运行 调试配置 有什么方法可以在项目设置中设置它们吗 找到解决方案here https stackoverflow com
  • 远程控制或脚本打开 Office 从 Python 编辑 Word 文档

    我想 最好在 Windows 上 在特定文档上启动 Open Office 搜索固定字符串并将其替换为我的程序选择的另一个字符串 我该如何从外部 Python 程序中做到这一点 OLE 什么 原生 Python 脚本解决方案 The doc
  • 使用 Python 抓取维基百科数据

    我正在尝试从以下内容中检索 3 列 NFL 球队 球员姓名 大学球队 维基百科页面 http en wikipedia org wiki 2008 NFL draft 我是 python 新手 一直在尝试使用 beautifulsoup 来
  • 使用reduce方法的斐波那契数列

    于是 我看到有人用reduce方法来计算斐波那契数列 这是他的想法 1 0 1 1 2 1 3 2 5 3 对应于 1 1 2 3 5 8 13 21 代码如下所示 def fib reduce n initial 1 0 dummy ra
  • 在 Windows 上将 Word2vec 与 Tensorflow 结合使用

    In 本教程文件 https github com tensorflow models blob master tutorials embedding word2vec py L45通过 Tensorflow 找到以下行 第 45 行 来加
  • 如何将同步函数包装在异步协程中?

    我在用着aiohttp https github com aio libs aiohttp构建一个 API 服务器 将 TCP 请求发送到单独的服务器 发送 TCP 请求的模块是同步的 对于我来说是一个黑匣子 所以我的问题是这些请求阻塞了整
  • 如何解码 dtype=numpy.string_ 的 numpy 数组?

    我需要使用 Python 3 解码按以下方式编码的字符串 gt gt gt s numpy asarray numpy string hello nworld gt gt gt s array b hello nworld dtype S1
  • 将具有不同大小的行的数据加载到 Numpy 数组中

    假设我有一个包含如下数据的文本文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 如何将它加载到 numpy 数组中 使其看起来像这样 1 2 3 4 5 0 6 7 8 0 0 0 9 1
  • 如何在python中递归复制目录并覆盖全部?

    我正在尝试复制 home myUser dir1 及其所有内容 及其内容等 home myuser dir2 在Python中 此外 我希望副本覆盖中的所有内容dir2 It looks like distutils dir util co
  • Matplotlib 将颜色图 tab20 更改为三种颜色

    Matplotlib 有一些新的且非常方便的颜色图 选项卡颜色图 https matplotlib org examples color colormaps reference html 我错过的是生成像 tab20b 或 tab20c 这
  • 与函数复合 UniqueConstraint

    一个快速的 SQLAlchemy 问题 我有一个 文档 类 其属性为 数字 和 日期 我需要确保没有重复的号码同年 是 有没有办法对 数字 年份 日期 进行UniqueConstraint 我应该使用唯一索引吗 我如何声明功能部分 SQLA
  • 将参数传递给 __enter__

    刚刚学习 with 语句尤其是这篇文章 http effbot org zone python with statement htm 问题是 我可以传递一个参数给 enter 我有这样的代码 class clippy runner def
  • Windows 与 Linux 文本文件读取

    问题是 我最近从 Windows 切换到 Ubuntu 我的一些用于分析数据文件的 python 脚本给了我错误 我不确定如何正确解决 我当前仪器的数据文件输出如下 Header 有关仪器等的各种信息 Data 状态 代码 温度 字段等 0
  • Python“self”关键字[重复]

    这个问题在这里已经有答案了 我是 Python 新手 通常使用 C 最近几天开始使用它 在类中 是否需要在对该类的数据成员和方法的任何调用前添加前缀 因此 如果我在该类中调用方法或从该类获取值 我需要使用self method or sel
  • 获取运行云功能的运行时服务帐户

    有没有办法以编程方式从云功能获取运行时服务帐户的电子邮件 我知道我可以 猜测 默认的 App Engine 帐户 因为它始终是 appspot gserviceaccount com 但这不是我想要的 我本来期待有一些环境变量 https

随机推荐

  • 在打字稿中扩展角度全局对象

    我正在使用 Angularjs 和 Typescript 我想使用如下自定义函数来扩展 Angular 对象 angular executeAfterDigest function 我该如何去做这件事呢 我怀疑我需要以某种方式扩展 IAng
  • Omnipay 如何添加新网关

    有谁知道如何向 Omnipay 添加新的支付网关 我读了博客https groups google com forum topic omnipay j7OeQQSB95A https groups google com forum topi
  • Xcode 找不到 cstddef

    由于某种原因 Xcode iOS 无法找到我正在使用的库 Boost 的 cstddef 有谁知道如何解决这一问题 我正在 Mac OS X 10 8 下使用 Xcode 4 6 进行编译 你应该让你的项目全部为 Objective C 将
  • 如何处理Android应用程序中标记的双击

    我在地图上显示车辆 当我单击车辆时 它会显示信息窗口 但我需要双击车辆 然后它会转到新页面 我不知道该怎么做 请帮助我 这是我的代码 public class MapsActivity extends FragmentActivity im
  • 如何将其制作为左/右滑动 div

    下面提供的是我的 html 和 css 代码的片段 我不仅需要在 html 和 css 中添加 而且还需要在 javascript 中添加什么 才能使其以滑入 滑出的方式工作 向右打开 和 左关闭 div div a href Edit P
  • 创建后缀号码球拍

    我正在尝试在 Racket 中试验我可以做的事情 并且我想在数字后加上字母 对于这个例子 我只想代表10000 as 10K and 1000000 as 1M 有没有办法 用宏或其他方式 我可以扩展1M to 1 1000000 或者有什
  • 如何模块化(大型)Java 应用程序?

    我手头有一个相当大的 几个 MLOC 应用程序 我想将其拆分为更易于维护的单独部分 目前该产品由大约 40 个 Eclipse 项目组成 其中许多项目具有相互依赖性 仅此一点就使得连续构建系统变得不可行 因为每次签入都必须进行大量重建 有没
  • 如何允许函数返回类型未定义

    我认为typescript有很多不明显的地方 使得它不严格也不正确 我想使用 undefined 作为函数返回类型 因为实际上它是未定义的 不是 void 或其他虚构类型 但是当我写下这个 function myFunction undef
  • Java 7 keytool 椭圆曲线加密

    我正在尝试使用带有 keyalg ECC 的 keytool 创建密钥库 这应该是可能的 根据Oracle http www oracle com technetwork java javase jdk7 relnotes 418459 h
  • UIImagePickerController(使用相机作为源)在 iPad2 上自动旋转,我该如何停止它?

    我正在尝试编写一个具有某些相机功能的应用程序 并使用覆盖视图用图像来装饰它 这就是我实现该应用程序的方式 我将 UIImagePickerController 用于用户相机接收的内容 并将 UIImageView 作为子视图添加到camer
  • 如何测试点是否位于其表面由点云定义的 3D 形状内?

    我有一个点的集合 这些点描述了一个大致呈球形的形状的表面 并且我需要一种方法来确定是否有任何其他给定点位于该形状内 我之前一直将形状 近似为精确的球体 但事实证明这太不准确 我需要一种更准确的方法 简单性和速度比完全精确性更有利 一个好的近
  • Ant 任务:使用排除参数

    得到以下 build xml 字符串
  • Spring 4.0.6 与quartz 1.8.6:setCronExpression 方法未公开给 CronTriggerBean 类

    我使用的是 spring 版本 4 0 6 和quartz 版本 1 8 6 问题是 当我尝试使用配置类而不是 xml 带有 Configuration 注释 时 我无法使用该方法设置 cron 表达式 CronTriggerBean ct
  • 如何获取位类型列的计数?

    我正在尝试使用SEDE https data stackexchange com 确定总共授予了多少个基于标签的徽章 我的典型策略是总结 select sum TagBased from Badges 不幸的是 自从TagBased是一个位
  • 在 table() 结果中包含零计数级别

    我有一个向量 y 我使用以下方法计算不同的值table y lt c 0 0 1 3 4 4 table y y 0 1 3 4 2 1 1 2 但是 我还希望结果包含零个 2 和零个 5 的事实 我可以用吗table 为了这 期望的结果
  • 如何在 Meteor 中将 forbidClientAccountCreation 设置为 false?

    Meteor 中的默认设置不允许从客户端创建帐户 这在许多应用程序中出于安全目的是有意义的 但我正在构建一个博客 需要允许用户创建一个帐户 以便他们可以发表评论 github stackoverflow 和各种教程上的典型响应似乎建议将以下
  • 错误 403:向 Cloud PubSub 发送测试消息时出错:用户无权执行此操作

    我想设置推送通知手表 但收到错误响应 我需要什么授权 Request Google API client getClient POST request ch curl init https www googleapis com gmail
  • 更新actionButton的标签为闪亮

    我知道类似的question https stackoverflow com questions 27326929 how to update button labels in r shiny已经回答了 但是该解决方案在字符串输入时创建一个
  • 打字稿感叹号括号[重复]

    这个问题在这里已经有答案了 我在以下位置看到过这个声明有角度的网站 https angular io api common AsyncPipe this resolve hi there 我不知道是什么 可能意味着在这种情况下 我遇到过非空
  • 在Python中删除小数点后的尾随零

    我正在使用Python 2 7 我需要更换 0 字符串在末尾 比如说 a 2 50 a a replace 0 我得到 a 2 5 我对这个结果很满意 现在a 200 a a replace 0 我得到 a 2 这个输出是按照我同意的设计的