在打印只有两个小数点的总数时出现问题[Python 2.7]

在打印只有两个小数点的总数时出现问题[Python 2.7],python,floating-point,decimal,Python,Floating Point,Decimal,尽管十进制格式是正确的,但我的计算现在似乎显示不正确 导入时间在我们的文本中建议始终将导入数据置于任何循环之外,因此我将我的数据放在这里。 虽然正确:这是主要的,也是唯一的;while循环。它将重复该程序,并允许用户根据输入预订更多的预订。 用户\人员=内部输入欢迎来到拉米雷斯航空公司!有多少人将乘飞机? 用户座位=straw\u输入完美!现在你们喜欢什么样的座位?我们提供经济舱、商务舱和头等舱! 其他: 折扣前=行李总数+座位总数 折扣金额=折扣前*折扣率 折扣后=折扣前-折扣金额 打印“不

尽管十进制格式是正确的,但我的计算现在似乎显示不正确

导入时间在我们的文本中建议始终将导入数据置于任何循环之外,因此我将我的数据放在这里。 虽然正确:这是主要的,也是唯一的;while循环。它将重复该程序,并允许用户根据输入预订更多的预订。 用户\人员=内部输入欢迎来到拉米雷斯航空公司!有多少人将乘飞机? 用户座位=straw\u输入完美!现在你们喜欢什么样的座位?我们提供经济舱、商务舱和头等舱! 其他: 折扣前=行李总数+座位总数 折扣金额=折扣前*折扣率 折扣后=折扣前-折扣金额 打印“不幸的是,我们无法折扣这一特殊交易,但是您可以通过我们的常客计划了解如何在未来的航班上节省10%!请与我们联系以获取更多信息 打印“在折扣*税率之前,您订单的总税额为:$%.2f%” 打印“您的应付总金额,包括机票税:$%.2f%”折扣前*税率+折扣前 用户\u continue=raw\u input您的预订已成功提交。你想再做一次吗? 如果用户继续!='是的: 打破 打印“感谢您乘坐拉米雷斯航空公司的航班!” 以及:

两者都打印到小数点后两位

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'
如果要添加两个数字,则需要使用paren进行旧式格式设置:

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'
使用代码中的示例:

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

两者都打印到小数点后两位

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'
如果要添加两个数字,则需要使用paren进行旧式格式设置:

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'
使用代码中的示例:

print ('Your total amount due including taxes for your airfare is: ${:.2f}'.format(tax_amount + after_tax )
应该这样做


应该这样做

Padraic,谢谢你的帮助!我设法让我的大多数输出显示为两个小数,但是如果我必须添加两个“变量”呢?例如,打印“您的座位和行李小计为:$”,行李总+座位总不用担心,只需像上一个示例那样执行var1+var2即可。我更喜欢使用str.format,因为我认为它不太容易出错。类似于这样的代码:折扣前*税率+折扣前只需将其全部包装在折扣前*税率+折扣前mm。因此,我设法使所有内容都显示为小数,但由于某些原因,我的计算在计算税收、折扣等时显示为不正确。我编辑了我的主代码以显示我的程序。。你介意快速查看一下,看看有没有明显的问题吗?Padraic,谢谢你的帮助!我设法让我的大多数输出显示为两个小数,但是如果我必须添加两个“变量”呢?例如,打印“您的座位和行李小计为:$”,行李总+座位总不用担心,只需像上一个示例那样执行var1+var2即可。我更喜欢使用str.format,因为我认为它不太容易出错。类似于这样的代码:折扣前*税率+折扣前只需将其全部包装在折扣前*税率+折扣前mm。因此,我设法使所有内容都显示为小数,但由于某些原因,我的计算在计算税收、折扣等时显示为不正确。我编辑了我的主代码以显示我的程序。。您是否介意快速查看一下,看看是否有任何明显的问题?。通常认为格式比%s样式打印更具“pythonic”。。通常认为格式比%s样式打印更具“pythonic”:
print ('text'),("%.2f" % variable)