3

文字列に sig figs を表示しようとしていますが、'{:.2f}'.format(x)スタイルを見つけました。コードに整数として sig figs の数がある限り、うまく機能しますが、このスタイルの書式設定を機能させることができないようですsig figs の数は変数に含まれています。 2動作sig=2しません。このように挿入するため%に一緒に使用しようとしましたが、うまくいきません。 .formatsig'{:.%if}'.format(x) %sig'

これには非常にシンプルでエレガントな解決策があると確信していますが、それを理解することはできません。どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

5

実際には、文字列形式の置換を使用して、形式文字列自体にパラメーターを指定できます。

In [79]: '{:.{s}f}'.format(1.234, s=2)
Out[79]: '1.23'

In [80]: '{:.{s}f}'.format(1.234, s=3)
Out[80]: '1.234'
于 2013-01-10T16:03:08.043 に答える
1

古いスタイルの文字列補間 (% フォーマット) を使ってこれを行うこともできます:

>>> "%.*f"%(2,1.2345)
'1.23'
>>> "%.*f"%(3,1.2345)
'1.234'

ただし、新しいバージョンの python (2.6+) を使用している場合は、@unutbu によって提案された形式を使用する必要があります。

于 2013-01-10T16:11:23.143 に答える