擅长:python、mysql、java
<p>我不确定裸字符串格式是否可以实现这一点,但您可以:</p>
<pre><code>>>> a = 3/ 4
>>> "{:.{a}f}".format(a, a=min(len(str(a).split('.')[-1]), 4))
'0.75'
>>> a = 3.14159265359
>>> "{:.{a}f}".format(a, a=min(len(str(a).split('.')[-1]), 4))
'3.1416'
>>>
</code></pre>
<p>或者为什么不<code>rstrip</code>:</p>
<pre><code>>>> a = 3 / 4
>>> "{:.4f}".format(a).rstrip("0")
'0.75'
>>> a = 3.14159265359
>>> "{:.4f}".format(a).rstrip("0")
'3.1416'
>>>
</code></pre>
<p><strong>Numpy可以做得更好:</strong></p>
<pre><code>>>> import numpy as np
>>> np.format_float_positional(0.75, 4)
'0.75'
>>> np.format_float_positional(np.pi, 4)
'3.1416'
>>>
</code></pre>