如何在 python 中格式化浮点数的最小位数

  • 本文关键字:浮点数 格式化 python python
  • 更新时间 :
  • 英文 :


有没有一种简单的方法来格式化浮点数,以便至少有一个尾随数字,但允许尽可能多的数字?期望的输出如下:

x = function(1)
x = '1.0'
y = function(1.1)
y = '1.1'
z = function(1.2345)
z = '1.2345'

使用"%.1f"将添加尾随零,但它也会裁剪任何更长的值。我可能会将一个小函数组合在一起,该函数检查值是否为整数并添加".0",但这似乎不是pythonic。

def function(value):
if int(value) == value:
form_string = '%i.0' % value
else:
form_string = ('%f' % value).rstrip('0')
return form_string 

谢谢!

只需转换为字符串并检查是否存在.

def function(value):
ret = str(value)
if '.' not in ret:
ret += '.0'
return ret

无论如何,如果您处理的是较小的值(即小于 ~1015(,str(float(value))具有相同的效果。

只是为了添加一个答案,对于固定的"我想要句点后至少一个数字",您只需将其格式化为 float:

def parse(a):
return str(float(a))

最新更新