Muy curioso... se trata de un problema de precisi�n....
#!/usr/bin/perl
my $num = shift(@ARGV);
while ( (1.1-$num) > 0 ) {
        print ("\$num vale $num\n");
        $num = $num + 0.1;
        print ("y despu�s $num");
        print "(";
        print 1.1-$num;
        print ")\n";
}

$ numtest.pl 0.8
$num vale 0.8
y despu�s 0.9(0.2)
$num vale 0.9
y despu�s 1(0.1)
$num vale 1
y despu�s 1.1(0)
[EMAIL PROTECTED]:/tmp$ numtest.pl 0.7
$num vale 0.7
y despu�s 0.8(0.3)
$num vale 0.8
y despu�s 0.9(0.2)
$num vale 0.9
y despu�s 1(0.1)
$num vale 1
y despu�s 1.1(2.22044604925031e-16) <<<<<<<<< en lugar de 0
$num vale 1.1
y despu�s 1.2(-0.0999999999999999)

        �Alguien est� en alguna lista de PERL? Si es as�, que por favor
envie �sto y a ver si nos aclara la duda.

        Javi

On Wed, Aug 02, 2000 at 04:23:55PM +0200, Hue-Bond wrote:
>          Oh vaya! Si inicializamos $num a 0.7 resulta que cuando llega a
>      1.1, la condici�n del while sigue siendo cierta!. perl_5.005.03-6.

Responder a