【发布时间】:2012-11-07 22:49:03
【问题描述】:
我遇到的问题是将结果四舍五入到小数点后 2 位。我的应用程序得到了正确的结果,但是,我很难像使用货币那样使应用程序四舍五入到最接近的小数
cost = input("\nEnter the 12 month cost of the Order: ")
cost = float(cost)
print("\n12 Month Cost:",
cost * 1,"USD")
print("6 Month Cost:",
cost * 0.60,"USD")
print("3 Month Cost:",
cost * 0.36,"USD")
例如,如果 12 个月的价格是 23 美元,那么 6 个月的价格是 13.799999999999999,但我希望它显示 13.80
我环顾了谷歌以及如何对数字进行四舍五入,但在四舍五入方面找不到太多帮助。
【问题讨论】:
-
只是关于 12 个月、6 个月和 3 个月成本的乘数的一点...我认为这些应该是 1、0.5 和 0.25,而不是 1、0.6 和 0.36。您正在服用 12 个月(6 个月)的 50% 和 12 个月(3 个月)的 25%。
-
@dhj OP 可能正在编写一个订阅系统,该系统根据订阅的时间长度提供最佳折扣。订阅 6 个月只需 13.80 美元,但订阅 12 个月比一年便宜 4.60 美元!
-
@kreativitea ... 好点!我做了很多数学/科学数据处理。就我而言,这是令人尴尬的假设。
-
@dhj 别担心,在我看到你已经写了它之前,我和你有同样的想法……只有在你写了你的评论之后,我才提出了例外;我敢肯定,如果我们以不同的顺序到达,我们的位置可能会颠倒过来。