Velocity Reviews > String manipulations

# String manipulations

Lorn
Guest
Posts: n/a

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

Philippe C. Martin
Guest
Posts: n/a

 05-28-2005
Multiply them by 10000 ?

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

Lorn
Guest
Posts: n/a

 05-28-2005
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.

John Roth
Guest
Posts: n/a

 05-28-2005
"Lorn" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> 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
>

Elliot Temple
Guest
Posts: n/a

 05-28-2005

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]

Lorn
Guest
Posts: n/a

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

 Thread Tools

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are Off Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post bbell1980@gmail.com ASP General 5 11-20-2007 09:19 AM Mueen Nawaz Digital Photography 12 10-13-2006 01:13 AM PyPK C++ 6 09-29-2005 04:00 PM PyPK Python 1 09-28-2005 08:47 PM Stan Sainte-Rose ASP .Net 1 10-02-2004 07:58 PM

Advertisments