ForHosting KIT · Matemáticas

Generador de número decimal aleatorio

Con los límites 0 y 1 y la semilla 42 obtendrá siempre 0,2523451748: los mismos límites, la misma semilla y los mismos decimales repiten el mismo sorteo. Útil para claves de respuestas, ejercicios de probabilidad y datos de ejemplo. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Mínimo
0
Máximo
1
Semilla
42
Obtiene
Valor
0,2523451748
Precisión
10
Intervalo unitario
0,2523451748

Un generador de número decimal aleatorio es la herramienta que se abre cuando se necesita una sola muestra real dentro de un intervalo numérico: una temperatura simulada, un precio unitario de prueba, un sorteo de aula en el intervalo unidad o un accesorio de prueba que debe permanecer estable byte a byte entre ejecuciones de integración continua. Esta capacidad devuelve un único decimal uniforme entre un límite mínimo obligatorio y un límite máximo obligatorio. El sorteo proviene de un generador congruencial lineal con semilla, de modo que los mismos límites, la misma semilla y la misma precisión producen siempre el mismo número.

Cómo un generador congruencial lineal con semilla se convierte en un decimal

Un generador de número decimal aleatorio que no se puede repetir es un lastre en pruebas, claves de deberes y cuadernos de simulación. Por eso este extremo rechaza la fuente aleatoria del anfitrión y el reloj del sistema. Avanza un generador congruencial lineal de 32 bits cuyas constantes son el par 1664525 y 1013904223 de Numerical Recipes, tomadas módulo dos a la treinta y dos.

La semilla de entrada se reduce a una palabra de 32 bits sin signo: un entero finito se toma módulo ese módulo, y una cadena no numérica se mezcla con el hash FNV-1a para que una etiqueta de laboratorio, como el nombre de un accesorio, siga siendo una semilla estable. Un paso de la recurrencia produce un entero sin signo X, que se divide entre dos a la treinta y dos para obtener una muestra u del intervalo unidad, en el rango semiabierto de cero inclusive a uno exclusive.

Antes de cualquier redondeo, el decimal bruto vive por tanto en el intervalo semiabierto que incluye el mínimo y excluye el máximo. La precisión opcional redondea después el decimal mostrado a entre cero y doce cifras fraccionarias para que los goldens y las hojas de cálculo comparen byte a byte.

Dónde un sorteo decimal reproducible justifica su uso

Las pruebas de software son el primer público. Una suite que necesita un decimal entre 0.15 y 0.85 no debe llamar a la fuente aleatoria del anfitrión y luego fijar un número que se mueve; debe enviar una semilla fija y afirmar el valor publicado. Las plataformas docentes son el segundo.

Los cursos de probabilidad piden a los estudiantes un decimal uniforme en un intervalo y luego una media o una cobertura; un generador con semilla permite al docente publicar el sorteo esperado junto a la hoja en lugar de discutir qué calculadora parpadeó. Los trabajos de simulación y de datos de prueba son el tercero. Si necesita muchos sorteos independientes, avance la semilla usted mismo (seed más uno, seed más dos) y recoja los valores, o vuelva a llamar con otra semilla documentada.

Mantenga las peticiones pequeñas, fije el valor redondeado en las pruebas y obtendrá un decimal reproducible sin levantar un entorno estadístico propio.

Accesorios de prueba reproducibles

Fije una semilla y unos límites en la integración continua para que una prueba unitaria espere siempre el mismo decimal en lugar de una instantánea aleatoria del anfitrión que cambia.

Sorteos uniformes de aula

Publique el decimal esperado junto a una hoja de probabilidad para que cada estudiante y la clave de respuestas compartan un único sorteo con semilla.

Series ficticias de sensores y precios

Asocie el identificador de un escenario a una semilla y obtenga una temperatura, un peso o un precio unitario estable dentro de un intervalo numérico documentado.

¿Por qué el límite mínimo debe ser menor que el máximo?

Un sorteo uniforme necesita una anchura de intervalo positiva.

¿Es esta una fuente aleatoria criptográfica?

No. El generador es un flujo congruencial lineal breve y plenamente especificado, pensado para pruebas, docencia y datos de ensayo. No lo use para claves, tokens ni nada que deba ser impredecible frente a un adversario.

¿Cuántos decimales puede tener el número?

Entre 0 y 12. Si no elige ninguno, el número sale con diez decimales. El redondeo se aplica al final, después de situar el sorteo entre sus dos límites.

¿Puede salir exactamente el valor máximo?

Antes de redondear, no: el resultado puede coincidir con el mínimo, pero siempre queda por debajo del máximo. El sorteo se hace en un intervalo que incluye el límite inferior y excluye el superior.

¿Cómo obtengo varios decimales aleatorios distintos?

Cambie la semilla en cada sorteo, por ejemplo sumándole uno cada vez, o use otra semilla que deje anotada. Cada semilla da un único número, así que repetirla repite el mismo decimal.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/stat/decimal-random-number-generator

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/stat/decimal-random-number-generator \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"minimum":0,"maximum":1,"seed":42}'
{
  "minimum": 0,
  "maximum": 1,
  "seed": 42
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "stat.decimal_random_number_generator",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Si el límite mínimo no es estrictamente menor que el máximo, la tarea falla con invalid_input en lugar de inventar un orden.

Cómo un generador congruencial lineal con semilla se convierte en un decimal

Esa muestra unitaria se escala luego al intervalo del llamador mediante el mapa afín valor igual a minimum más u por la anchura maximum menos minimum. La misma semilla, los mismos límites y la misma precisión producen siempre el mismo unit_interval y el mismo value en todo entorno que implemente la multiplicación-suma de 32 bits del mismo modo, que es exactamente el contrato que necesita una aserción de integración continua. Nada del camino es estocástico a nivel del sistema operativo; dos workers con el mismo cuerpo JSON no pueden discrepar.

Contrato de entrada, límites, precisión y comportamiento de error

Los límites iguales y el intervalo invertido se rechazan, porque una anchura nula o negativa no define un sorteo uniforme e inventar un intercambio ocultaría un error del llamador. El redondeo posterior a la escala puede caer exactamente en un extremo; trate el valor mostrado como un decimal con las cifras pedidas, no como una promesa de que el extremo superior exclusivo sobrevive a todo redondeo. La validación fallida no se cobra. Empareje la semilla ecoada con sus propios registros si necesita demostrar que una repetición posterior usó el mismo flujo. Envíe por POST un cuerpo JSON con tres campos obligatorios. minimum es el límite inferior del intervalo y también puede llegar como min, lower o lo. maximum es el límite superior y también puede llegar como max, upper o hi. seed es la semilla del generador y también puede llegar como key o salt. Un campo opcional precision, aceptado además como decimals, places o digits, fija el número de cifras fraccionarias del decimal devuelto; vale diez por omisión y debe ser un entero de cero a doce. Cada campo numérico puede ser un número JSON o una cadena numérica; los valores no finitos, las cadenas vacías y los campos obligatorios ausentes fallan con invalid_input que nombra el campo. La regla geométrica dura es que minimum debe ser estrictamente menor que maximum. En caso de éxito el cuerpo ecoa el minimum y el maximum analizados, la semilla de 32 bits sin signo que de verdad entró en la recurrencia y la precisión aplicada. También devuelve unit_interval, la u bruta redondeada a doce cifras para inspección, value, el decimal escalado redondeado a la precisión pedida, y una cadena formula breve que reescribe el mapa afín. Las llamadas correctas usan el precio base publicado $0.002.

Dónde un sorteo decimal reproducible justifica su uso

Cada llamada correcta a la API cuesta $0.002; la entrada inválida no consume saldo. La herramienta no es una fuente aleatoria criptográfica, ni un generador de vectores de muchas muestras, ni un recambio de una biblioteca Monte Carlo completa: devuelve un decimal por petición.

¿Cómo elige un valor este generador de número decimal aleatorio?

Avanza un generador congruencial lineal de 32 bits de Numerical Recipes desde su semilla, proyecta el estado siguiente a una muestra u del intervalo unidad en [0, 1) y devuelve minimum + u × (maximum − minimum), redondeado a la precisión pedida.

¿La misma semilla produce siempre el mismo decimal?

Sí. El camino no lee el reloj ni llama a Math.random. Los mismos minimum, maximum, seed y precision producen siempre el mismo unit_interval y el mismo value.

¿Cuánto cuesta el generador de número decimal aleatorio?

La herramienta del navegador es gratuita. Las peticiones a la API usan saldo prepago de KIT a $0.002 por llamada correcta; la entrada inválida no se cobra.

Ver la documentación completa del KIT →