En vez de un resultado numérico me sale “NaN” ¿Que puede ser? <code>var z = aleatorio(10,20); function aleatorio (min, max) { var resu...

Nazareno Aznar Altamiranda

Nazareno Aznar Altamiranda

Pregunta
studenthace 5 años

En vez de un resultado numérico me sale “NaN” ¿Que puede ser?

var z = aleatorio(10,20); function aleatorio (min, max) { var resultado = Math.floor( Math.random * ( max - min + 1)) + min; return resultado; } document.write(aleatorio(10, 20)); console.log(z);```
4 respuestas
para escribir tu comentario
    Henry Delgado

    Henry Delgado

    studenthace 3 años

    Sin duda alguna la comunidad es lo mejor!!!!

    Oscar Gerardo Gutiérrez Pinto

    Oscar Gerardo Gutiérrez Pinto

    studenthace 4 años

    El problema es el método Math.random(). Te faltaron los paréntesis, así que no lo ejecuta como una función sino que probablemente trate de concatenar o algo por el estilo. La línea dice así:

    var resultado = Math.floor( Math.random * ( max - min + 1)) + min; return resultado;

    Pero debería de decir así:

    var resultado = Math.floor( Math.random() * ( max - min + 1)) + min; return resultado;

    Si te fijas, los editores de texto para programar te señalan los errores con colores. Si algo esta de un color distinto al usual, entonces debe de haber un error en dicha línea o en una anterior que afecta esa.

    Giovanni Perfetti Santisteban

    Giovanni Perfetti Santisteban

    studenthace 4 años

    Hola! Si te sale NaN es por qué el resultado no lo está tomando como número. Revisa tu código en la formulación que incluye los Math.random y demás. Un problema inicial que tenía es que mi función Math.Random () no estabá poniendo los paréntesis.

    Nicolás Arias González

    Nicolás Arias González

    studenthace 5 años

    NaN
    significa Not a Number (No es un número). Y generalmente es un resultado de una operación matemática en la que uno de los operandos no es un número.

    En este caso específico, estás haciendo

    Math.random * (max - min + 1)
    . Multiplicando una función por un número, te falta hacer el llamado a
    Math.random()
    para multiplicar el resultado en lugar de la función.

Curso Gratis de Programación Básica

Curso Gratis de Programación Básica

Programa desde cero, domina Javascript, entiende HTML y aprende de algoritmos. <strong>Sí, desde cero</strong>. Entenderás la lógica del código, cómo piensan los programadores y cómo programar juegos, proyectos y hasta robots y electrónica. Aprender a programar no es fácil, pero Platzi lo hace efectivo.

Curso Gratis de Programación Básica
Curso Gratis de Programación Básica

Curso Gratis de Programación Básica

Programa desde cero, domina Javascript, entiende HTML y aprende de algoritmos. <strong>Sí, desde cero</strong>. Entenderás la lógica del código, cómo piensan los programadores y cómo programar juegos, proyectos y hasta robots y electrónica. Aprender a programar no es fácil, pero Platzi lo hace efectivo.