Re: String manipulations

2005-05-28 Thread Lorn
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

2005-05-28 Thread Elliot Temple

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

2005-05-28 Thread John Roth
"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

2005-05-28 Thread Lorn
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

2005-05-28 Thread Philippe C. Martin
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

2005-05-28 Thread Lorn
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