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

我正在为学校编写一个ATM程序。我一直在进行大量的研究,试图弄清楚为什么当我的数字是100.00时,当他们被当作字符串时,他们变成了100.0。我尝试过很多不同的东西,但总是会出错。在Python中将一个浮点数转换为字符串时保留小数位

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

回答:

完成有一个简单的方法去做。

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

以上是 在Python中将一个浮点数转换为字符串时保留小数位 的全部内容, 来源链接: utcz.com/qa/259145.html

回到顶部