python判定整数 浮点数_Python打印出浮点数或整数

How can i print out float if the result have decimal or print out integer if the result have no decimal?

c = input("Enter the total cost of purchase: ")

bank = raw_input("Enter the bank of your credit card (DBS, OCBC, etc.): ")

dbs1 = ((c/float(100))*10)

dbs2 = c-dbs1

ocbc1 = ((c/float(100))*15)

ocbc2 = c-ocbc1

if (c > 200):

if (bank == 'DBS'):

print('Please pay $'+str(dbs2))

elif (bank == 'OCBC'):

print('Please pay $'+str(ocbc2))

else:

print('Please pay $'+str(c))

else:

print('Please pay $'+str(c))

exit = raw_input("Enter to exit")

Example-Result

Enter the total cost of purchase: 250

Enter the bank of your credit card (DBS, OCBC, etc.): OCBC

Please pay $212.5

Enter the total cost of purchase: 250

Enter the bank of your credit card (DBS, OCBC, etc.): DBS

Please pay $225.0

解决方案

You can try this, which simply uses Python's string formatting method:

if int(c) == float(c):

decimals = 0

else:

decimals = 2 # Assumes 2 decimal places for money

print('Please pay: ${0:.{1}f}'.format(c, decimals))

This will give you the following output if c == 1.00:

Please pay: $1

Or this output if c == 20.56:

Please pay: $20.56

你可能感兴趣的:(python判定整数,浮点数)