首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么字符串不能将我的输出识别为整数

为什么字符串不能将我的输出识别为整数
EN

Stack Overflow用户
提问于 2019-02-22 06:24:00
回答 2查看 47关注 0票数 1
代码语言:javascript
复制
balance = int(100)
balance *= 0.05 + balance
balance *= 0.05 + balance
balance *= 0.05 + balance
print (int(round ( balance, '.2f' )))

我在试着计算三年后100美元的利息是多少。

我最初试过这个

代码语言:javascript
复制
balance = 100
balance *= 0.05 + balance
balance *= 0.05 + balance
balance *= 0.05 + balance
print  (format( balance, '.2f' ))

但我的格式导致答案是以万亿为单位,而不是5位浮点数。

EN

回答 2

Stack Overflow用户

发布于 2019-02-22 06:27:39

你在乘以余额。试试这个:

代码语言:javascript
复制
balance = int(100)
balance = balance * 0.05 + balance
balance = balance * 0.05 + balance
balance = balance * 0.05 + balance
print("{:.02f}".format(balance))
票数 2
EN

Stack Overflow用户

发布于 2019-02-22 07:08:25

你应该注意操作的顺序。balance *= 0.05 + balance会先将0.05balance相加,然后再将其乘以balance。您需要的是balance = balance + balance * 0.05balance = balance * 1.05

您可以创建一个函数来计算复利,以使其更简单:

代码语言:javascript
复制
def comp_int(balance, rate, years):
    return balance * (1 + rate)**years

balance = 100
rate = 0.05
years = 3
new_bal = comp_int(balance, rate, years)
print(f'{new_bal:.2f}')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54817175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档