Python prints a float or integer

How can I print a float if the result has a decimal or print an integer if the result does not have a 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 
+4
source share
3 answers

You can try this, which simply uses the Python 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 conclusion, if c == 20.56 :

 Please pay: $20.56 
+5
source

Python floats have a built-in method for determining if they are integers:

 x = 212.50 y = 212.0 f = lambda x: int(x) if x.is_integer() else x print(x, f(x), y, f(y), sep='\t') >> 212.5 212.5 212.0 212 
+3
source
 def nice_print(i): print '%.2f' % i if i - int(i) != 0 else '%d' % i nice_print(44) 44 nice_print(44.345) 44.34 

in your code:

 def nice_number(i): return '%.2f' % i if i - int(i) != 0 else '%d' % i 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 $'+nice_number(dbs2)) elif (bank == 'OCBC'): print('Please pay $'+nice_number(ocbc2)) else: print('Please pay $'+nice_number(c)) else: print('Please pay $'+nice_number(c)) 
+1
source

Source: https://habr.com/ru/post/1481070/


All Articles