Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: Converting to decimal elsif

by Sherlock (Deacon)
on Jul 26, 2001 at 01:17 UTC ( #99810=note: print w/replies, xml ) Need Help??

in reply to Converting to decimal elsif

I think your logic is somewhat incorrect, nlafferty.

I haven't tested this, but it would appear that if $start_minute was, say 38, to begin with, you'd like to get the value .75, correct? The way your logic is set up, the first elsif will be true (38 >= 7.5), therefore $start_minute will be set to .25 and all logic ends. I doubt this is what you want.

One simple solution would be to change your code like so...

if ($start_minute < 7.5) {$start_minute = .0 ;} elsif ($start_minute >= 7.5 && $start_minute < 22.5) {$start_minute = .25 ;} elsif ($start_minute >= 22.5 && $start_minute < 37.5) {$start_minute = .5 ;} elsif ($start_minute >= 37.5 && $start_minute < 52.5) {$start_minute = .75 ;} elsif ($start_minute >= 52.5) {$start_minute = 1.0 ;}
This should fix your problem. Now, if we look at the case where $start_minute is 38, none of these will be true until you get to the third elsif, which sets $start_minute to .75, which is, I believe, what you want.

Hopefully, this helps,
- Sherlock

Update: Doing conversions using just less thans or greater thans as BikeNomad and HyperZonk have done will make your code simpler but, please note, if you do that, order matters! My suggestion would be to do it that way, though.

Skepticism is the source of knowledge as much as knowledge is the source of skepticism.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://99810]
[LanX]: Happy 1e2th Birthday , Issur Danielowitsch Demsky! :)

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (10)
As of 2016-12-09 18:01 GMT
Find Nodes?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:

    Results (154 votes). Check out past polls.