我遇到的问题是我将结果四舍五入到小数点后两位。我的应用程序获得了正确的结果,但是,我很难像使用货币那样将应用程序四舍五入到最接近的小数位
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
我在 google 上四处寻找如何四舍五入一个数字,但找不到太多关于四舍五入结果的帮助。
最佳答案
您应该使用格式说明符:
print("6 Month Cost: %.2fUSD" % (cost * .6))
更好的是,您根本不应该依赖 float 并使用 decimal
取而代之的是模块,它为您提供了任意精度和对舍入方法的更多控制:
from decimal import Decimal, ROUND_HALF_UP
def round_decimal(x):
return x.quantize(Decimal(".01"), rounding=ROUND_HALF_UP)
cost = Decimal(input("Enter 12 month cost: "))
print("6 Month Cost: ", round_decimal(cost * Decimal(".6")))
关于python - 在 Python 中将答案四舍五入到小数点后两位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13463556/