python:格式化具有最大小数位数的浮点字符串[重复]
Posted
技术标签:
【中文标题】python:格式化具有最大小数位数的浮点字符串[重复]【英文标题】:python: format float string with maximum number of decimals [duplicate] 【发布时间】:2020-04-12 16:35:38 【问题描述】:我需要的类似于%.2f
,但删除任何0
或.
结尾。
下面是一个示例,左侧是浮点数,右侧是所需的格式。
4525.0014436 -> '4525'
4525.0091 -> '4525.01'
4525.1036 -> '4525.1'
4525.163465 -> '4525.16'
4525.998 -> '4526'
有没有办法在 python 中格式化?还是有必要通过算法来做?
【问题讨论】:
第二个例子 - 为什么是 4525.1 而不是 4525.09? 【参考方案1】:发现:使用%.2f
格式化后只需使用rstrip('0.')
例如:
>>> ("%10.2f" % 4567.001).rstrip('0.')
' 4567'
>>> ("%10.2f" % 4567.009).rstrip('0.')
' 4567.01'
>>> ("%10.2f" % 4567.1004).rstrip('0.')
' 4567.1'
【讨论】:
以上是关于python:格式化具有最大小数位数的浮点字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章