[perl] random
Adrian Galindo
agalindo@liceaga.facmed.unam.mx
Mon, 22 Mar 1999 17:20:37 -0600 (CST)
On Mon, 22 Mar 1999, Ulises Ponce wrote:
> Quiero generar un numero entero aleatorio de 9 digitos y que se almacene en
> una variable.
>
> Estoy usando la funcion rand:
> $variable=rand(999999);
>
> Pero me genera un numero fraccional (si, ya se que asi dice en perlfunc).
> Como puedo hacer para generar el numero aleatorio pero que sea entero?
> O como puedo elimarle la fraccion al numero que regresa rand() ?
Puesto que en perl no es necesario hacer el cast de un tipo a otro, puedes
tratar el resultado como una cadena y hacer algo asi
$valor =~ s/(\d*)\..*/$1/;
claro que esta algo jalado de los pelos, pero es muy perliano.
Que es lo que dice: dejame al final de todo esto chorizo, solo los digitos
que encuentres hasta antes de un punto (que esta escapado).
Lo mejor es usar la funcion int que segun el manual de perlfunc te regresa
la parte entera de lo que le pases como argumento, si no le pasas nada
toma $_ como valor predefinido.
$valor = rand(99999);
$variable = int($valor);
rand() automaticamente llama a srand, pero se preferible que la uses
primero para mover la semilla, antes de llamar a rand();
En el manual de perlfunc viene todo esto.
Salu2...
---------------------------
Adrian Galindo Hdez
Unidad de Estadistica
DGESII, UNAM
Ciudad de Mexico
--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text : cancelacion perl