提取浮点数的前N位置

时间:2013-11-22 00:48:39

标签: python python-2.7

我有一个浮点值列表,我想将其绘制到图表上。在放入另一个新列表之前,我们如何从浮点数中提取前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]

4 个答案:

答案 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**-40.0001