good chemistry is complicated,and a little bit messy -LW PerlMonks

### 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.

Create A New User
Node Status?
node history
Node Type: note [id://99810]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (7)
As of 2017-06-29 14:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
How many monitors do you use while coding?

Results (671 votes). Check out past polls.