Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

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]
[marto]: time for coffee

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2018-05-21 08:10 GMT
Find Nodes?
    Voting Booth?