Path: utzoo!attcan!uunet!samsung!usc!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!haven!uvaarpa!mmdf From: srid@uswat.uswest.com (Gopal Sridhara) Newsgroups: comp.lang.perl Subject: my probelm with perl numericals Message-ID: <1990Oct23.032156.486@uvaarpa.Virginia.EDU> Date: 23 Oct 90 03:21:56 GMT Sender: mmdf@uvaarpa.Virginia.EDU (Uvaarpa Mail System) Reply-To: srid@uswat.uswest.com Organization: The Internet Lines: 46 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