Re: String manipulations
Thank you Elliot, this solution is the one I was trying to come up with. Thank you for your help and thank you to everyone for their suggestions. Best regards, Lorn -- http://mail.python.org/mailman/listinfo/python-list
Re: String manipulations
On May 28, 2005, at 2:52 PM, Lorn wrote: > Yes, that would get rid of the decimals... but it wouldn't get rid of > the extraneous precision. Unfortunately, the precision out to the ten > thousandth is noise... I don't need to round it either as the numbers > are artifacts of an integer to float conversion. Basically, I need to > know how many decimal places there are and then make the necessary > deletions before I can normalize by adding zeros, multiplying, etc. > > Thanks for your suggestion, though. for s in numbers: decimal_index = s.find('.') decimal_places = len(s) - decimal_index - 1 Anything wrong with this? (it will mess up if there isn't a decimal but you can fix that if you want) -- Elliot Temple http://www.curi.us/ --- [This E-mail scanned for viruses by Declude Virus] -- http://mail.python.org/mailman/listinfo/python-list
Re: String manipulations
"Lorn" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > I'm trying to work on a dataset that has its primary numbers saved as > floats in string format. I'd like to work with them as integers with an > implied decimal to the hundredth. The problem is that the current > precision is variable. For instance, some numbers have 4 decimal places > while others have 2, etc. (10.7435 vs 1074.35)... all numbers are of > fixed length. > I have some ideas of how to do this, but I'm wondering if there's a > better way. My current way is to brute force search where the decimal > is by slicing and then cutoff the extraneous numbers, however, it would > be nice to stay away from a bunch of if then's. > > Does anyone have any ideas on how to do this more efficiently? If you can live with a small possibility of error, then: int(float(numIn) * 100.0) should do the trick. If you can't, and the numbers are guaranteed to have a decimal point, this (untested) could do what you want: aList = numIn.split(".") result int(aList[0]) * 100 + int(aList[1][:2]) HTH John Roth > > Many Thanks, > Lorn > -- http://mail.python.org/mailman/listinfo/python-list
Re: String manipulations
Yes, that would get rid of the decimals... but it wouldn't get rid of the extraneous precision. Unfortunately, the precision out to the ten thousandth is noise... I don't need to round it either as the numbers are artifacts of an integer to float conversion. Basically, I need to know how many decimal places there are and then make the necessary deletions before I can normalize by adding zeros, multiplying, etc. Thanks for your suggestion, though. -- http://mail.python.org/mailman/listinfo/python-list
Re: String manipulations
Multiply them by 1 ? Lorn wrote: > I'm trying to work on a dataset that has it's primary numbers saved as > floats in string format. I'd like to work with them as integers with an > implied decimal to the hundredth. The problem is that the current > precision is variable. For instance, some numbers have 4 decimal places > while others have 2, etc. (10.7435 vs 1074.35)... all numbers are of > fixed length. > > I have some ideas of how to do this, but I'm wondering if there's a > better way. My current way is to brute force search where the decimal > is by slicing and then cutoff the extraneous numbers, however, it would > be nice to stay away from a bunch of if then's. > > Does anyone have any ideas on how to do this more efficiently? > > Many Thanks, > Lorn -- http://mail.python.org/mailman/listinfo/python-list
String manipulations
I'm trying to work on a dataset that has it's primary numbers saved as floats in string format. I'd like to work with them as integers with an implied decimal to the hundredth. The problem is that the current precision is variable. For instance, some numbers have 4 decimal places while others have 2, etc. (10.7435 vs 1074.35)... all numbers are of fixed length. I have some ideas of how to do this, but I'm wondering if there's a better way. My current way is to brute force search where the decimal is by slicing and then cutoff the extraneous numbers, however, it would be nice to stay away from a bunch of if then's. Does anyone have any ideas on how to do this more efficiently? Many Thanks, Lorn -- http://mail.python.org/mailman/listinfo/python-list