![]() |
Funcion Random no respeta rango
Hola a todos!
Les cuento que soy medio novato en esto de la programacion. Me surgio un problema y la verdad no se que estoy haciendo mal. Necesito obtener un numero aleatoreo entre 0 y 9. para ello uso el siguiente codigo
Pero resulta que me devuelve todos numeros mayores que 10, siendo que el limite es 9. Tampoco se porque motivo los numeros que me devuelve nunca llegan al 50. ¿Estoy haciendo algo mal? ¿a alguien le paso? Desde ya muchas gracias. Saludos! |
Bueno, todo tiene su explicación :), aunque estaría bien ver tu código, para poder ayudarte según lo que estás haciendo :)
|
perdon por la tardanza en responder, es que tuve un problema con mi cuenta y no podia acceder.
no se en que va, pero cree un formulario nuevo para probar y con el mismo codigo anda. la verdad que no entiendo en que le erre. el codigo es muy simple.
|
No entiendo bien lo que dices, random(9) debe devolverte valores entre 0 y 8. Y hablas de números que no pasan de 50 ¿?
Mira esta página de ayuda. |
Cita:
Del modo que utilizas Random en tu código te va a generar valores enteros comprendidos entre cero y ocho, es decir que 0 <= Random(n) < n. Otra forma de utilizarlo es multiplicar el valor máximo deseado por el resultado de la función Random sin argumentos. En este caso se da que 0 <= Random < 1, el resultado obtenido es de punto flotante por lo que tendrías que usar la función Round para utilizar luego IntToStr:
Mirando tu código, no veo la posibilidad que estés obteniendo un valor inferior a cero o superior a ocho... Saludos. |
La franja horaria es GMT +2. Ahora son las 11:11:52. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi