比较Python中的贷款

比较Python中的贷款,python,rounding,Python,Rounding,我正在为我的Python类做作业。我几乎算出来了,但我的输出与原始问题中显示的输出略有不同。当利率为5.125%时,我每月支付189.29英镑,但问题的结果是188.28英镑。没有格式的原始数字是189.286。我想也许在金融系统中,他们只是简单地减少小数,而不是使用“轮”。我不确定在Python中是否有任何方法可以做到这一点。问题就在这里 编写一个程序,让用户以年为单位输入贷款金额和贷款期限,并显示从5%到8%的每个利率的每月和总付款,增量为1/8 输入: Loan Amount: 10000

我正在为我的Python类做作业。我几乎算出来了,但我的输出与原始问题中显示的输出略有不同。当利率为5.125%时,我每月支付189.29英镑,但问题的结果是188.28英镑。没有格式的原始数字是189.286。我想也许在金融系统中,他们只是简单地减少小数,而不是使用“轮”。我不确定在Python中是否有任何方法可以做到这一点。问题就在这里

编写一个程序,让用户以年为单位输入贷款金额和贷款期限,并显示从5%到8%的每个利率的每月和总付款,增量为1/8

输入:

Loan Amount: 10000
Number of Years: 5
输出:

Interest Rate   Monthly Payment Total Payment
5.000%          188.71          11322.74
5.125%          189.29          11357.13
...    
7.875%          202.17          12129.97
8.000%          202.76          12165.84
代码:

LoanAmount=float(输入(“贷款金额”))
NumOfYears=浮动(输入(“年数:”)
年利率=浮动(5.0)
打印(“\n利率\t”+“月付款\t”+“总付款”)

而(年利率当您使用货币时,请使用该模块。这允许许多不同的操作。例如,向下取整:

import decimal

payment = decimal.Decimal('189.286')
with decimal.localcontext() as ctx:
    ctx.rounding = decimal.ROUND_DOWN
    print(round(payment, 2))
印刷品:

189.28
将是:

四舍五入到最接近的整数,且关系到最接近的偶数整数


当你处理金钱时,使用该模块。这允许许多不同的操作。例如,四舍五入:

import decimal

payment = decimal.Decimal('189.286')
with decimal.localcontext() as ctx:
    ctx.rounding = decimal.ROUND_DOWN
    print(round(payment, 2))
印刷品:

189.28
将是:

四舍五入到最接近的整数,且关系到最接近的偶数整数


您可能想了解哪些与总是向上取整、总是向下取整或总是截断不同。请注意,取整的选择取决于您所在地区的会计规则,例如引用Wikipedia“
相反,《欧盟委员会报告》第2节介绍了欧元的引入和货币金额的四舍五入[19]表明,以前银行业中没有标准的四舍五入方法;该节规定“中途”金额应向上舍入。
您可能希望了解哪些与始终向上舍入、始终向下舍入或始终截断不同。请注意,舍入的选择取决于您所在地区的会计规则,例如引用维基百科“
相反,欧盟委员会报告第2节介绍了欧元的引入和货币金额的四舍五入[19]表明,以前银行业没有标准的四舍五入方法;它规定“中间”金额应四舍五入。
with decimal.localcontext() as ctx:
    ctx.rounding = decimal.ROUND_HALF_EVEN
    print(round(payment, 2))