2017-01-17 9 views
-1

私はfloatを使用してテキストファイルの数値を読み取りました。例えば:number=float(25.0000)、次にこの番号を別のファイルに書き込もうとしたので、str形式を使用しました。しかし、私がテキストファイルで見たものは、25.0のようなものでした。私が以前に持っていた番号を正確に持つために何をすべきか知りたいのですが。(25.0000) 私は、番号は可能かどうか?floatを文字列に変更する

with open(file , 'w') as f: 
    num =float(25.0000) 
    f.write(str(num)) 
+0

あなたは同じ番号を持っていますが、持っていないものは同じ番号の文字列です。提案:https://docs.python.org/2/library/string.html –

答えて

1

あなたがして、あなたの希望する結果を得ることができます:これは動作します

with open(file, 'w') as f: 
    num = float(25.0000) 
    f.write('%.4f' % num)) 

DOCS

+0

私の数字に10進数がいくつあるのかわからない場合はどうすればいいですか? –

+0

それは簡単な答えなしの問題です。 1つの可能な答えはここにあります:http://stackoverflow.com/a/23749691/7311767ファイルから番号を読み取った場合は、それをチェックすることができます。固定小数点数で作業することもできます。あるいは、ちょっと調べてみてください:https://en.wikipedia.org/wiki/Significant_figures –

2

format()機能を使用します。

with open(file, 'w') as f: 
    num = float(25.0000) 
    f.write(str(format(num, '.4f'))) 
2

..

num=float(25.0000) 
f=open('a.txt','w') 
f.write("%0.4f"%num) 

ここで、%はテキスト書式演算子であり、0.5は一般的な構文<fieldWidth>.<precission>に置き換えられ、fは浮動小数点データ型を表します。

関連する問題