浮動小数点数 があるとします135.12345678910
。その値を文字列に連結したいのですが、必要なのは だけです135.123456789
。print を使用すると、次のように簡単にこれを行うことができます。
print "%.9f" % numvar
私のオリジナルの番号ですnumvar
。これを行う簡単な方法はありますか?
ベストアンサー1
Python < 3 (例: 2.6 [コメントを参照] または 2.7) の場合、これを行う方法は 2 つあります。
# Option one
older_method_string = "%.9f" % numvar
# Option two
newer_method_string = "{:.9f}".format(numvar)
ただし、Pythonバージョン3以上(3.2や3.3など)の場合、オプション2は好ましい。
オプション2の詳細については、Pythonドキュメントの文字列フォーマットに関するこのリンク。
オプション1の詳細については、このリンクは十分であり、さまざまなフラグに関する情報が記載されています。
Python 3.6(2016年12月に正式リリース)では、f
文字列リテラルが追加されました。詳細はこちらは、このstr.format
方法を拡張します(中括弧の使用により、f"{numvar:.9f}"
元の問題が解決されます)。つまり、
# Option 3 (versions 3.6 and higher)
newest_method_string = f"{numvar:.9f}"
問題を解決します。詳細については@Or-Duanの回答をご覧ください。ただし、この方法は速い。