srid@uswat.uswest.com (Gopal Sridhara) (10/23/90)
Hello Can any person answer me why this happens in perl. We are running pe3.0 patch level 18. #!/usr/local/bin/perl The script is as follows : $num1 = 010.0 - 010.0; print 010.00000; print "\n"; printf("number1 010.0 - 010.0 in octal:%o decimal:%d hex:%x\n",$num1,$num1,$num1); $num1 = (010.0) - (010.0); printf("number1 010.0 - 010.0 in octal:%o decimal:%d hex:%x\n",$num1,$num1,$num1); $num2 = 010.0 - 010; printf("number2 010.0 - 010 in octal:%o decimal:%d hex:%x\n",$num2,$num2,$num2); $num3 = 010 - 010.0; printf("number3 010 - 010.0 in octal:%o decimal:%d hex:%x\n",$num3,$num3,$num3); $num4 = 010.0 - 010.00; printf("number4 010.0 - 010.00 in octal:%o decimal:%d hex:%x\n",$num4,$num4,$num4); $num5 = 01.0 - 01.00; printf("number5 01.0 - 01.00 in octal:%o decimal:%d hex:%x\n",$num5,$num5,$num5); $num6 = 1.0 - 1.00; printf("number6 1.0 - 1.00 in octal:%o decimal:%d hex:%x\n",$num6,$num6,$num6); The output is as follows: 80 number1 010.0 - 010.0 in octal:1320 decimal:720 hex:2d0 number1 010.0 - 010.0 in octal:0 decimal:0 hex:0 number2 010.0 - 010 in octal:110 decimal:72 hex:48 number3 010 - 010.0 in octal:0 decimal:0 hex:0 number4 010.0 - 010.00 in octal:1320 decimal:720 hex:2d0 number5 01.0 - 01.00 in octal:132 decimal:90 hex:5a number6 1.0 - 1.00 in octal:0 decimal:0 hex:0 Can any perl - expert explain why is this anamoly. BTW print (010.0) - (010.0) produces correct output. Gopal Sridhara . srid@uswest.com 303 889 6657