【问题标题】:Python: How to print 100.0 instead of 100 in floatPython:如何在浮点数中打印 100.0 而不是 100
【发布时间】:2019-01-28 04:00:05
【问题描述】:

我正在解决一个关于类的 Python 练习:

定义一个名为 Bank 的类,它接受您想要关联的名称 将您的银行帐户放在一个字符串中,并用一个浮点数表示 帐户中的金额。构造函数应该初始化两个 来自这些输入的实例变量:name 和 amt。添加一个字符串 方法,这样当您打印 Bank 的实例时,您会看到“您的 帐户,[name goes here],有 [start_amt going here] 美元。”创造 这个类的一个实例,名称为“Bob”,名称为 100.0 数量。将其保存到变量 t1。

我写了以下内容:

class Bank:
def __init__(self, name, amt):
    self.name = name
    self.amt = amt

def __str__(self):
    return "Your account, {}, has {} dollars.".format(self.name, self.amt)

 t1 = Bank("Bob", 100.0)
 print(t1)

我得到的结果是“Your account, Bob, has 100 dollars.

但正确答案是“Your account, Bob, has 100.0 dollars.

我该如何解决?谢谢!

【问题讨论】:

    标签: python python-3.x class


    【解决方案1】:

    您可以更改您的format

    def __str__(self):
        return "Your account, {0}, has {1:.1f} dollars.".format(self.name, self.amt)
    

    查看Format Specification Mini-Language

    【讨论】:

    【解决方案2】:

    或者破解它:

    return "Your account, {}, has {}.0 dollars.".format(self.name, self.amt)
    

    或者使用float:

    return "Your account, {}, has {} dollars.".format(self.name, float(self.amt))
    

    【讨论】:

    • @RoyWang 既然你有 15 个代表,别忘了给我的答案投票。
    猜你喜欢
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多