在Python中将一个浮点数转换为字符串时保留小数位

weixin_38078242 2019-09-12 04:06:47

我正在为学校编写一个ATM程序。我一直在进行大量的研究,试图弄清楚为什么当我的数字是100.00时,当他们被当作字符串时,他们变成了100.0。我尝试过很多不同的东西,但总是会出错。 import sys #account balance acct_bal = float(500.25) deposit_amount = float(0.00) balance = float(0.00) withdrawal_amount = float(0.00) #<--------functions go here--------------------> #printbalance function, choice B def account_balance(acct_bal): print("Your current balance:") print(acct_bal) #deposit function, choice D def deposit(deposit_amount, balance): print("Deposit was $" + str(float(deposit_amount)) + ", current balance is $" + str(float(balance))) #print("Deposit was $" + "{:,.2f}".format(deposit_amount) + ", current balance is $" + "{:,.2f}".format(balance)) #This one causes an error #Traceback (most recent call last): #File "G:/SNHU/1 - CURRENT/IT-140 Introduction to Scripting Python (10-30-17 to 12-24-17)/Module 5/ATM", line 29, in <module> #deposit(deposit_amount, balance) #File "G:/SNHU/1 - CURRENT/IT-140 Introduction to Scripting Python (10-30-17 to 12-24-17)/Module 5/ATM", line 17, in deposit #print("Deposit was $" + "{:,.2f}".format(deposit_amount) + ", current balance is $" + "{:,.2f}".format(balance)) #ValueError: Unknown format code 'f' for object of type 'str' #withdraw function, choice W def withdrawal(withdrawal_amount, balance): print("Withdrawal amount was $" + str(float(withdrawal_amount)) + ", current balance is $" + str(float(balance))) #User Input goes here, use if/else conditional statement to call function based on user input userchoice = input("What would you like to do?\n") if (userchoice == "D"): deposit_amount = input("How much would you like to deposit today?\n") balance = acct_bal + float(deposit_amount) deposit(deposit_amount, balance) elif (userchoice == "B"): account_balance(acct_bal) else: withdrawal_amount = input("How much would you like to withdraw?\n") balance = acct_bal - float(withdrawal_amount) withdrawal(withdrawal_amount, balance) 这是输出我得到: What would you like to do? W How much would you like to withdraw? 100 Withdrawal amount was $100.0, current balance is $400.25 应> Withdrawal amount was $100.00, current balance is $400.25 过程中,如果您正在使用Python 3.X然后退出代码为0








...全文
1973 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38087646 2019-09-12
  • 打赏
  • 举报
回复

完成有一个简单的方法去做。 value = 100.000 #the .2f specifys the number of trailing values after the decimal you want final = "{:.2f}".format(value) print(final) #output:100.00 #NOTE: it will be in string #if you want more formatting options you can check the python docs

473

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧