0

有没有类似len()测量浮点数长度的命令?

当我尝试时:len(a[k]) (a[k] 是数组,它给出随机浮点数)

有如下错误:

object of type 'float' has no len()

我的代码:

import random
a=[random.uniform(10,100) for i in range (1000)]

c= open("dosya.txt","w")
c.write('X DEGER:  Y DEGER:\n')
c.write('--------------\n')

count = 0.0
while count < 99.9:
count +=0.1
c.write ("%s\n" % count)    


c=open("dosya.txt","w")
c.seek(37,0)
for k in range(900):
    print a[k]
    c.write(", %.2f" %(a[k]))
    c.seek(len(str(a[k])),1)    
    c.close

我想在文件中创建两列,但第二个循环数字,在第一个上写。

例如,

 0.1  38.582   
 0.2  58.214                        
 0.3  16.427  

                

但输出是这样的:

 0.1 38.585
 0.3 25.420 
 0.5 47.543

如您所见,浮点数覆盖0.2

4

2 回答 2

3

使用 将浮点数转换为字符串str(),然后测量长度:

>>> len(str(2.34))
4

或者,如果您不希望它计算小数点,请将其删除:

>>> len(str(2.34).replace('.',''))
3

显然,您可以替换2.34a[k]:)。

于 2013-07-17T06:51:11.237 回答
0

这个怎么样?

len(str(a[k]))

这会将浮点数转换为字符串并找出字符串的长度,从而找出浮点数的长度。

如果你不想计分,你可以做

len(str(a[k])) - 1
于 2013-07-17T06:50:55.097 回答