2017-07-06 45 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所有值分割和应用的格式给每一个人,然后重新加入他们。

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

使用我的脚本,我通过蓝牙发送数据:client_sock.send('\ n'.join(value_freq2.split())),当某些值不具有相同长度时,如:105。例如104.99999949。我想要像105.00000000 – azzerty2017