1. ホーム
  2. python

[解決済み] 浮動小数点数を一定の精度に変換し、文字列にコピーする。

2022-04-23 12:05:31

質問

浮動小数点数、例えば 135.12345678910 . その値を文字列に結合したいのですが、必要なのは 135.123456789 . printを使えば、次のように簡単にできます。

print "%.9f" % numvar

numvar は、私の元の番号です。簡単にできる方法はないでしょうか?

どのように解決するのですか?

Python < 3 (例: 2.6 [コメントを読む] or 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の回答を確認してください。しかし、この方法は 速い .