列印小数

时间:2019-03-09 16:49:12

标签: python python-3.x

meal_cost = float(input(" Please Enter the Meal Cost:$"))
percent_tip = float(input(" Please Enter the percent of the tip:%"))
meal_tax = float(input(" Whats the sales tax:%"))
sales_tax = meal_tax / 100
tax = sales_tax * meal_cost
taxA = str(round(tax, 2))
tip = percent_tip / 100
tip_total = tip * meal_cost
final_tip = str(round(tip_total, 2))
subtotal =  tip_total + meal_cost + tax
total = str(round(subtotal, 2))
print()

这是我需要帮助的地方。在格式化所有小数点后的格式时,我需要帮助,以确保它们可以对齐。

例如,这样排列:

    23.52
     1.55
   100.50


print('Subtotal $', \
      format(meal_cost, '.2f'))

print('Gratuity $', \
      format(final_tip, '.2f'))

print('Sales Tax $', \
      format(TaxA, '.2f'))

print('Total $', \
      format(total, '.2f'))

1 个答案:

答案 0 :(得分:1)

您要右对齐数字的字符串表示形式,以便其小数点对齐。

您告诉Python通过在格式说明中包含>字符来做到这一点。您还需要告诉Python您希望每个字符串有多宽,以及如果字符串的宽度不如您指定的宽度那么用哪个字符填充字符串。

您想要的格式如下:

' >10.2f'

从左到右,其组成是:

  • 空格:该字符串将在左边填充空格以构成宽度
  • >表示字符串将右对齐
  • 10表示格式化的字符串将为十个字符宽
  • .2表示字符串将显示两位小数位
  • f表示将使用定点符号显示字符串

输出看起来像这样:

>>> nums = [23.52, 1.55, 100.5]
>>> for n in nums:
...     print(format(n, ' >10.2f'))
... 
     23.52
      1.55
    100.50
>>>