是否有一种简单的方法来格式化浮点数,以便至少有一个尾随数字,但允许存在多少个?期望的输出将低于:
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
谢谢!
答案 0 :(得分:4)
只需转换为字符串并检查.
是否存在?
def function(value):
ret = str(value)
if '.' not in ret:
ret += '.0'
return ret
无论如何,str(float(value))
具有相同的效果,如果您处理小值(即小于~10 15 )。
答案 1 :(得分:0)
只是添加一个答案,对于一个固定的“我希望在句点之后至少有一个数字”,你只需将其格式化为float:
def parse(a):
return str(float(a))