9

我正在尝试创建一个将最终值打印到小数点后 2 位的货币转换器。

我已经创建了整个程序,这只是其中的一小部分,但我无法让程序打印到小数点后 2 位。我曾尝试使用以前提出的问题中的“%.2f”,但它不起作用,有人可以建议我需要做什么吗?

我到目前为止的程序是

conversion_Menu= "What do you want to convert?\n1.Pound Sterling\n2.Euro\n3.USD\n4.Japanese Yen"
x = input (conversion_Menu)
if x == "1":
    sterling_Menu = "What do you want to convert to?\n1.Euro's\n2.USD\n3.Japanese Yen"
    y = input (sterling_Menu)
    currency_Total = float(input("How much do you wish to exchange?"))
    total_Exchange = currency_Total * sterling_Conversion
    print ("This converts to", total_Exchange) 

我想保证存储在变量 total-Exchange 中的值始终为 2 dp。

4

2 回答 2

6

如果您希望以 2 位精度存储值,请使用round()

>>>t = 12.987876
>>>round(t,2)
#12.99

如果您需要以更高的精度保存变量(例如用于进一步计算),但输出要四舍五入,建议"%.2f"对我来说非常有效:

>>>t = 12.987876
>>>print "This converts to %.2f" % t
#This converts to 12.99
于 2013-09-13T08:23:31.690 回答
6

使用 Python 3.0 测试

t = 12.987876
print(f'This converts to {t:.2f}')

结果:

这转换为 12.99

于 2018-08-26T14:47:54.450 回答