【发布时间】:2021-09-09 01:01:05
【问题描述】:
编写一个程序,询问用户某件商品的价格,然后打印出该商品的账单。账单包括商品价格、商品的销售税以及客户支付的总金额。销售税为商品价格的 5%。总账单是商品的价格加上销售税。
如果商品价格为 99 美元,账单将如下所示:
价格 $99.00 营业税 4.95 总计 103.95 美元
这是我目前所拥有的:
price = float(input("Price $"))
tax = .05
salestax = (price*tax)
total = ((price*tax)+ price)
print("Sales tax ", salestax)
print("Total $", total)
有人可以帮我把打印的值保留两位小数吗?
现在这是我的输出:
Price $99
Sales tax 4.95
Total $ 103.95
显然,间距是错误的,并不是所有的美元金额都有 2 个小数位
【问题讨论】:
-
转成字符串,用
.分割,看第二个元素是否存在。如果是这样,计算数字并用0填充剩余的数字。如果没有,请在末尾添加.00。 -
这能回答你的问题吗? Limiting floats to two decimal points
-
"%.2f" ,这是我的教授使用的,但我不知道如何正确地将其添加到我的代码中。
-
print("Sales tax %.2f" % tax) -
如果您的教授需要某种格式化方法,请在您的问题陈述中说明这一点。听起来好像您的教授期望 printf 样式的输出,而您的问题主要集中在如何打印小数位数(小数点右侧的位数)为 2 的十进制值。
标签: python