我将浮动指数值传递给python函数,然后使用它:
def estimateFit(infile, fsrmin):
test=isfloat(fsrmin)
print "fsrmin test for isfloat: %s" %test
flimit = 30e9;
print "flimit = %.3e" %flimit
float(fsrmin)
print "fsrmin = %.3e" %fsrmin
我从另一个python程序调用此函数:
fsrmin = sys.argv[3]
R, I, w = srf.estimateFit(infile,fsrmin)
我总是收到这个错误:
> print "fsrmin = %.3e" %fsrmin
TypeError: float argument required, not str
正如你所看到的,我试图在程序中转换为float。我遗失的任何东西
答案 0 :(得分:1)
您没有将fsrmin
分配给float(fsrmin)
。我建议你使用:
fsrmin = sys.argv[3] # fsrmin is a str for now
fsrmin = float(fsrmin) # here we convert to float
R, I, w = srf.estimateFit(infile,fsrmin)
语句float(fsrmin)
不会更改变量fsrmin
。如果字符串ValueError
不能解释为float,则会引发fsrmin
。