简体   繁体   中英

Having issues printing out totals with only two decimal points [Python 2.7]

My calculations seem to be showing as incorrect now despite the decimal format being correct.

 import time # It was reccommend in our text to always have your import data located outside of any loops, thus I put mine here. while True: # This is the main, and only; while loop. It will repeat the program and allow users to book more reservations depending on input. user_people = int(raw_input("Welcome to Ramirez Airlines! How many people will be flying?")) user_seating = str(raw_input("Perfect! Now what type of seating would your party prefer? We offer Economy, Business and First Class!")) else: before_discount = luggage_total + seats_total discount_amount = before_discount * discount_rate after_discount = before_discount - discount_amount print ('Unfortunately we were not able to discount this particular transaction, however you can learn how to save 10% on future flights through our Frequent Flyers program! Contact us for more info!') print ('The total tax amount for your order is: $%.2f') % (before_discount * tax_rate) print ('Your total amount due including taxes for your airfare is: $%.2f') % (before_discount * tax_rate + before_discount) user_continue = raw_input("Your reservation was submitted successfully. Would you like to do another?") if user_continue != 'yes': break print('Thank you for flying with Ramirez Airlines!') 

print 'Your total amount due is ${:.2f}'.format(totalCost)

And:

print 'Your total amount due is $%.2f' % totalCost 

both print to two decimal places.

In [3]: 'Your total amount due is $%.2f' % 1.2234
Out[3]: 'Your total amount due is $1.22'



In [4]: 'Your total amount due is ${:.2f}'.format(1.2234)
Out[4]: 'Your total amount due is $1.22'

If you are adding two numbers you need parens for old style formatting:

In [6]: 'Your total amount due is $%.2f' % (1.2234 + 1.2324)
Out[6]: 'Your total amount due is $2.46'
In [7]: 'Your total amount due is ${:.2f}'.format(1.2234+   1.2324)
Out[8]: 'Your total amount due is $2.46'

Using an example from your code:

print ('Your total amount due including taxes for your airfare is: ${:.2f}'.format(tax_amount + after_tax )
total_cost = 1234.56789
print('Your total amount due is ${0:.2f}'.format(total_cost))

Your total amount due is $1234.57
print ('text'),("%.2f" % variable)

应该做

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM