如何将浮点数格式化保留两位小数?打印语句未实现四舍五入求助
解决Python销售税费计算的小数格式化与函数问题
你的代码存在两个需要修正的点,才能实现浮点数四舍五入到两位小数的需求:
getCombo函数逻辑问题:当前函数依赖全局变量countyTax和stateTax,写法不严谨,一旦全局变量变动就会出错,应该让函数独立计算总和。- 输出未格式化:打印语句没有对计算结果做四舍五入和两位小数的格式处理。
修改后的完整代码
def getCounty(sales): return sales * 0.025 def getState(sales): return sales * 0.05 def getCombo(sales): # 直接调用税费计算函数,避免依赖全局变量 return getCounty(sales) + getState(sales) sales = float(input("Enter the total sales for the month: $")) countyTax = getCounty(sales) stateTax = getState(sales) combo = getCombo(sales) # 用f-string格式化,自动四舍五入保留两位小数 print(f"The amount of county sales tax ${countyTax:.2f}") print(f"The amount of state sales tax ${stateTax:.2f}") print(f"The total sales tax (county plus state) ${combo:.2f}")
关键说明
- 函数优化:修改后的
getCombo函数通过调用另外两个税费计算函数得到总和,逻辑更独立,鲁棒性更强。 - 小数格式化:
:.2f是Python格式化语法,会自动将浮点数四舍五入并保留两位小数,完美实现.00的输出格式。你也可以用format()函数达到同样效果:print("The amount of county sales tax ${:.2f}".format(countyTax))
内容的提问来源于stack exchange,提问作者Faizan Abrar
相关产品推荐
相关产品推荐

