在python中以十进制数字显示尾随的零,而不返回字符串

在python中以十进制数字显示尾随的零,而不返回字符串,python,python-2.7,Python,Python 2.7,我需要以十进制数字显示尾随的零。我考虑使用,但它返回一个字符串,当 尾零消失< /强> S. 我也尝试过使用,但它在变量赋值时返回一个十进制实例。 例如: >>> x = decimal.Decimal(format(15.2, '.2f')) >>> print x 15.20 >>> x Decimal('15.20') Python版本:2.7 我需要将15.2显示为15.20(而不是“15.20”)您可以创建一个float子类,其行

我需要以十进制数字显示尾随的零。我考虑使用,但它<强>返回一个字符串,当<<强>转换为浮点或十进制< /强> <强>尾零消失< /强> S.

我也尝试过使用,但它在变量赋值时返回一个十进制实例。 例如:

>>> x = decimal.Decimal(format(15.2, '.2f'))
>>> print x
15.20
>>> x
Decimal('15.20')
Python版本:2.7


我需要将15.2显示为15.20(而不是“15.20”)您可以创建一个
float
子类,其行为如下:

class RoundFloat(float):
    def __new__(cls, value=0, places=2):
        return float.__new__(cls, value)
    def __init__(self, value=0, places=2):
        self.places = str(places)
    def __str__(self): 
        return ("%." + self.places + "f") % self
    __repr__ = __str__
用法:

pi = RoundFloat(3.1415927, places=4)
print pi         # 3.1416

关闭
\uuu repr\uuu
可能很方便,因此如果需要,可以使用
repr(x)轻松获取完整值

将其作为字符串返回有什么问题?您当然可以显示它,并显示尾随的零。@wallyk是我的django应用程序的一部分,其中api返回一些json数据,我的前端预期为浮点或十进制。如果我可以直接获得预期的十进制值,那么它可以帮助我减少一些操作R在前端格式化。您不能这样做。浮点数表示法不包括尾随的零。@DYZ有没有办法从上面显示的十进制实例代码中获取值?如>>>所示打印xSure:
float(x)
。但不管你得到什么值,都将是一个浮点数。我以为你想要的是小数,而不是浮点数。我想看看这个问题: