ファイルからデータを読み込み、変更して別のファイルに書き込みます。新しいファイルは別のプログラムによって読み取られるため、正確なフォーマットを引き継ぐことが重要です。
たとえば、入力ファイルの数字の1つは次のとおりです。
1.000000
私のスクリプトは列にいくつかの数学を適用し、返す必要があります
2.000000
しかし、現在返されているのは
2.0
たとえばmy_float = 2.0
、 なので my_float = 2.00000
ファイルに?
小数点以下6桁にフォーマットします。
_format(value, '.6f')
_
デモ:
_>>> format(2.0, '.6f')
'2.000000'
_
format()
function は、指定された formatting instructions に続く値を文字列に変換します。
Format()コマンドを使用した答えは上記にありますが、正確な値を表す必要があるfloatを使用している場合は、Decimal標準ライブラリオブジェクトを調べてください。コンテキストクラスで精度と丸めを設定できますが、デフォルトでは、配置するゼロの数が保持されます。
>>> import decimal
>>> x = decimal.Decimal('2.0000')
>>> x
Decimal('2.0000')
>>> print x
2.0000
>>> print "{0} is a great number.".format(x)
2.0000 is a great number.
私はn個の方法を試しましたが、私が望んでいた方法で機能するものはありませんでした。
foo = 56
print (format(foo, '.1f'))
print (format(foo, '.2f'))
print (format(foo, '.3f'))
print (format(foo, '.5f'))
output:
56.0
56.00
56.000
56.00000
つまり、format
の2番目の引数は、小数点以下の桁を取得する必要があります。 format
は文字列を返すことに注意してください。