<p>你离得太近了!在</p>
<pre><code>def getDollarFormatText(dolAndCent):
separateDolCent = [int(x) for x in str(dolAndCent).split('.')]
return separateDolCent
</code></pre>
<p>我在[int(x)中为x in做了什么多兰分。分开('.')]是一个<a href="http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions" rel="nofollow">list comprehension</a>(列表理解是python中一个非常常见的习惯用法,一旦您熟悉了它们,就会非常强大)。本质上,它会在“.”上拆分字符串(如之前所做的那样),然后创建一个小循环来循环每个元素(“.”之前和之后的部分)。对于其中的每一个,它将转换为带有<code>int</code>的整数。功能。在</p>
<p>我将<code>rsplit</code>改为<code>split</code>,因为从字符串的哪一边拆分并不重要,我删除了{<cd4>},因为只有一个“.”。在</p>
<hr/>
<p>作为补充说明,没有理由创建<code>separateDolCent</code>变量:</p>
^{pr2}$
<p>请注意我是如何将变量从<code>camelCase</code>更改为<code>using_underscores</code>。这是python社区中函数名和变量名的首选。我还使用docstring为函数添加了一些文档。在</p>
<hr/>
<p>如果需要处理<code>2</code>、<code>3.4</code>或{<cd10>}等数字,可以对代码进行以下编辑:</p>
<pre><code>def get_dollar_format_text(dol_and_cent):
'''Returns the dollar and cents part of a money amount as
a two element list of integers, where the first element is
dollars and the second is cents.
'''
return [int(x) for x in '{0:.2f}'.format(dol_and_cent).split('.')]
</code></pre>
<p>它的作用是强制数字始终使用两个小数位格式化,这样<code>2</code>变成{<cd12>},<code>3.4</code>变成{<cd14>},而{<cd10>}变成{<cd16>}。这样,你总是得到两个小数点的美分。在</p>