Formatting 输出格式化Python 3.2

Formatting 输出格式化Python 3.2,formatting,python-3.x,Formatting,Python 3.x,我有一个关于程序输出的问题 def writeOutput(): output.write(str(gallons) + '\n') output.write(str(usage) + '\n') output.write(str(sewer) + '\n') output.write(str(tax) + '\n') output.write(str(total) + '\n') output.write('__________________

我有一个关于程序输出的问题

 def writeOutput():
    output.write(str(gallons) + '\n')
    output.write(str(usage) + '\n')
    output.write(str(sewer) + '\n')
    output.write(str(tax) + '\n')
    output.write(str(total) + '\n')
    output.write('_______________________' + '\n')
这是我的文件写入功能。 有人知道我在哪里可以找到如何把123.45写成“123美元45美分”这样的拼写吗


谢谢

如果将
金额
存储为
浮点数
(*),则可以使用
%
格式运算符,如下所示:

"%d dollars %d cents" % (int(amount), int(amount * 100 % 100))

(*)这是在真正的金融应用程序中永远不应该做的,因为浮点容易出现舍入错误;改为使用十进制模块。

这将起作用:

>>> amount = 123.45
>>> '{} dollars {:.0f} cents'.format(int(amount), (amount - int(amount)) * 100)
'123 dollars 45 cents'
在Python3(所有3.x?)中,对于“简单”浮动,您可以编写:

'{} dollars {} cents'.format( *str(amount).split('.') )
输出:

'123 dollars 45 cents'

很明显,str()将螺旋浮点数,如
1.0000000001e-15

我一直在主输出water=str(“d美元%d美分%(费用,(费用*100%)类型错误:不支持的操作数类型对于*:'module'和'int'>>>我不能完全理解这些评论的诀窍。。。和换行符:(@Alli,您是否包含名为
charges
的模块?这不是我的代码中的错误;请在Python提示符下尝试。我包含了名为charges的模块,是的。我想我应该已经想到了……我将更新我的变量名并重试。谢谢
'123 dollars 45 cents'