我有一个浮点值列表,我想将其绘制到图表上。在放入另一个新列表之前,我们如何从浮点数中提取前4个精度?
C = []
C.append(23.1234567890)
C.append(14.1234567890)
print ('C - ' + str(C))
D = []
D.append(C[0])
D.append(C[1])
print ('D - ' + str(D))
GOT
C - [23.123456789, 14.123456789]
D - [23.123456789, 14.123456789]
期待
C - [23.123456789, 14.123456789]
D - [23.1235, 14.1235]
答案 0 :(得分:3)
您可以非常轻松地获得字符串表示:
>>> '{:.4f}'.format(23.1234567890)
'23.1235'
您还可以使用round
功能:
>>> round(23.1234567890, 4)
23.1235
请注意,如果您使用round
,由于浮点数的表示,该数字几乎不会完全到您想要的4位精度。
答案 1 :(得分:0)
你可以这样做,例如,通过字符串操作:
strC = split(str(C), ".")
strC = strC[0] + "." + strC[1][:5]
print ('C - ' + strC)
答案 2 :(得分:0)
您可以使用字符串格式化来执行此操作:
C = []
C.append(23.1234567890)
C.append(14.1234567890)
print ('C - ' + str(C))
D = []
D.append(float("%.4f" % C[0]))
D.append(float("%.4f" % C[1]))
print ('D - ' + str(D))
答案 3 :(得分:0)
您可以使用模%
函数以数学方式删除不需要的数字:
C = []
C.append(23.1234567890)
C.append(14.1234567890)
print ('C - ' + str(C))
D = []
for i in C:
D.append(i - (i% (10**-4)))
print ('D - ' + str(D))
其中-4
是您要保留的位数。 10**-4
为0.0001
。