如果结果有小数,我如何打印出 float ;如果结果没有小数,我如何打印出整数?
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")
示例结果
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
最佳答案
你可以试试这个,它简单地使用了Python的字符串格式化方法:
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))
如果 c == 1.00
,这将为您提供以下输出:
Please pay: $1
或者如果 c == 20.56
则输出:
Please pay: $20.56
关于Python打印出 float 或整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16577669/