Python如何打印四舍五入后保留两位小数的含小费账单金额字符串
如何在拼接字符串中打印四舍五入后的含小费账单总金额
你可以通过两种方式实现保留两位小数的输出要求,其中f-string内置格式化的方案更适配金额显示场景。
方案1:f-string内置精度控制(推荐)
不需要额外嵌套round()函数,直接在f-string的变量占位符后添加格式说明符: .2f即可,该写法会自动对数值做四舍五入,固定保留2位小数,同时会自动补全小数位末尾的0(例如计算结果为32.5时会显示为32.50),完全匹配要求的输出格式。
你只需要修改原代码中的print语句即可:
print(f"The total cost for dinner is ${total_price:.2f}")
方案2:嵌套round()函数
如果需要显式调用round()实现四舍五入,可以直接在占位符内传入处理后的数值,round()的第二个参数为需要保留的小数位数:
print(f"The total cost for dinner is ${round(total_price, 2)}")
注意:该方案存在格式缺陷,当计算结果的小数位不足2位时,不会自动补0。例如总金额刚好为50时,输出会是
$50.0而非要求的$50.00,不符合金额显示的格式规范。
修改后完整代码
bill = input('Enter in the bill ($): ') tip = input('Enter in the tip percentage (%): ') total_price = float(bill) * int(tip) / 100 + float(bill) print(f"The total cost for dinner is ${total_price:.2f}")
内容的提问来源于stack exchange,提问作者Jason Newstedt
相关产品推荐
相关产品推荐

