On Jun 21, 4:18 pm, Stephen Hansen <me+list/pyt...@ixokai.io> wrote: > On 6/21/10 4:03 PM, davidgp wrote: > > > > > sorry :) > > Okay, I should be more specific: include full tracebacks and some real > copied and pasted code :) Don't throw away nice debugging information > Python gave you, feed it to us. > > > invalid literal for long() with base 10: '51.9449702' > > this is the error i'm getting when i use long(line) > > Yes, "51.9449702" is an invalid literal for long. Long produces > integers: no decimal points. > > However: > > > and this is the error for float(line) > > invalid literal for float(): not found > > Its a perfectly valid literal for float:>>> float('51.9449702') > > 51.9449702 > > So if you're getting that error, you're doing something else that you're > not telling us. > > I suspect, somehow (I'd have to see your code to be sure), that your > "line" in the second case doesn't have that number. Try it in the > interactive interpreter. float('51.9449702') works fine. I suspect your > "line", for whatever reason, contains the string "not found", as in: > > >>> float('not found') > > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > ValueError: invalid literal for float(): not found > > -- > > Stephen Hansen > ... Also: Ixokai > ... Mail: me+list/python (AT) ixokai (DOT) io > ... Blog:http://meh.ixokai.io/ > > signature.asc > < 1KViewDownload
ah, i see :P float("45.34") or whatever does work fine, but the problem is that i'm reading it from a text file. so somehow it is not a real string or whatever.. here's a part of the code: f = open ('/home/david/out.txt', 'r') for line in f: if tel ==6: buf = line.replace('\n', '') lat = float(buf) if tel ==7: buf = line.replace('\n', '') lng = float(buf) basically it goes wrong in the last part where i try to convert the line to a float.. i'm 100% sure that it's getting a number, not a text string cheers! -- http://mail.python.org/mailman/listinfo/python-list