Although most of the work I do on a day to day basis is in java I occasionally use perl to hack out a quick algorithm or to generate some test data.
This has always worked fine but noticed today that something *not good* was happening.
This perl code
$c=$w%24;
if($c==0){$c=24;}#nobody says 0 o'clock instead of 12 o'clock do they?
+ >:)
$r=ceil($w/24);
$n=(($c-1)*16)+$r;
will take a $w=1 and give me a $n=1, $w=25 results in a $n=2
The problem is that when I implement the java analogue of the perl code:
int c=w%24;
double r=Math.ceil(w/24);
if(c==0){c=24;}
Double d=new Double(((c-1)*16)+r);//This line and the next line are ne
+cessary because ceil() returns a double
int n=d.intValue();
a w=1 result in an n=0, w=25 results in an n=1 .
Why is this? Also, in the larger scope of things, is prototyping algorithms in perl to be implemented in another language a stupid idea likley to have me meet more trouble down the road?
Edit by dws for typos and formatting