2017-07-06 4 views
0
私はwouldlike

にカンマの後に8桁を取得するが、私はすべてを試み、誰も解決策が実際に私の問題解決しない:コンマの後に8桁を取得するのpython

tab_freq=(result[1]/1e6) 
value_freq=str(tab_freq)[1:-1] 
print value_freq 

を私が試したこの:

value_freq2=format(value_freq,".8f") 

と私はいつも同じエラーが発生します:

Unknown format code 'f' for object of type 'str' 

ありがとうございました!

+0

https://stackoverflow.com/questions/455612/limiting-floats-to-two-decimal-points – Mukul215

答えて

3

".8f"は、文字列ではなく数字で動作します。

は最初のフロートに変換してみてください。

value_freq2=format(float(value_freq),".8f") 


編集:

以下のコメントへの応答では、最初にvalue_freq2内のすべての値を分割し、フォーマットを適用する必要がありますそれぞれに1つずつ追加してから再度参加してください。

value_freq = "100. 100.98 105.344444 104." 
value_list = [format(float(v), ".8f") for v in value_freq.split()] 
value_freq2 = "\n".join(value_list) 
+0

私が試したが、私は別のエラーがあります: 'フロートのための無効なリテラル():' 99.99999949 100を。 100.254 .....この関数はコンマの後に8を加えないでください? – azzerty2017

+0

値のリストを渡しているようです。最初に 'str.split()'で分割する必要があります。 –

+0

私のスクリプトを使って、私はbluetoothでデータを送信します:client_sock.send( '\ n'.join(value_freq2.split()))は、値が同じ長さでなければ値のリストを調整します。例えば104.99999949である。私は同じ長さのようにしたい105.00000000 – azzerty2017

関連する問題