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.