擅长:python、mysql、java
<p>以下内容在python中完全可以接受:</p>
<ul>
<li>将整数的字符串表示形式传递到<code>int</code></li>
<li>将浮点的字符串表示形式传递到<code>float</code></li>
<li>将整数的字符串表示形式传递到<code>float</code></li>
<li>将浮点值传递到<code>int</code></li>
<li>将整数传递到<code>float</code></li>
</ul>
<p>但是,如果将<em>float</em>的字符串表示形式传递到<code>int</code>中,或者传递除整数(包括空字符串)以外的任何字符串表示形式,则会得到<code>ValueError</code>。如果您确实要将浮点的字符串表示形式传递给<code>int</code>,正如@katyhuff在上面指出的,您可以先转换为浮点,然后再转换为整数:</p>
<pre><code>>>> int('5')
5
>>> float('5.0')
5.0
>>> float('5')
5.0
>>> int(5.0)
5
>>> float(5)
5.0
>>> int('5.0')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '5.0'
>>> int(float('5.0'))
5
</code></pre>