Autor Tema: JavaScript Redondear. toFixed, isNaN, toPrecision. parseInt, parseFloat CU01156E  (Leído 2115 veces)

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Propuesta de ejercicio resuelto para el ejercicio CU01156E del curso de programación web JavaScript de aprenderaprogramar

Citar
EJERCICIO

Crea un script donde:

a) Se pida al usuario que introduzca un número superior a 10000000 y se muestre por pantalla ese número con tres dígitos significativos. Si el número introducido no cumple la condición, se volverá a solicitar que se introduzca.

b) Se pida al usuario que introzca un número con 4 decimales y se muestre por pantalla ese número redondeado a dos decimales. Si el número introducido no cumple la condición, se volverá a solicitar que se introduzca (para ello habrá que analizar que la cadena introducida cuente con cuatro dígitos después del carácter de punto decimal).

c) Se pida al usuario que introduzca una frase que comience por un número que puede ser entero o decimal. Para dicha frase, se devolverá el número entero que se pueda extraer, y el número decimal que se pueda extraer. Deberá analizarse la entrada con una expresión regular, de modo que si no cumple la condición, se vuelva a solicitar la introducción de la frase.


CÓDIGO HTML

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="es">

<head>
    <meta charset="UTF-8">
    <title>Codificación aprenderaprogramar.com: CU01156E</title>
</head>

<body>
    <h1>Click para agregar datos</h1>
    <button onclick="calcularIngresado()">Ejecutar</button>
    <script src="js/funciones56.js" type="text/javascript"></script>
</body>

</html>


CÓDIGO JAVASCRIPT

Código: [Seleccionar]
var numeroIngresado;
var decimalIngresado;
var fraseIngresado;

function calcularIngresado() {
    calcularDigitoSingificativo();
}

function calcularDigitoSingificativo() {

    do {
        numeroIngresado = prompt("Introduzca un número superior a 10000000", "");
        if (validarNumero(numeroIngresado)) {
            //alert("numero es valido");
            if (Number(numeroIngresado) < 10000000) {
                alert("El número es igual o inferior a 10000000");
                valor = false;
            } else {
                alert("El número con tres digitos significativos es " + Number(numeroIngresado).toPrecision(3));
                valor = true;
                redondearDecimal();
            }
        } else {
            alert("Datos ingresdos no es número valido");
            valor = false;
        }
    } while (valor == false);
}

function redondearDecimal() {
    do {
        decimalIngresado = prompt("Introduzca un número con 4 decimal", "");
        if (validarDecimal(decimalIngresado)) {
            alert("El número redondeado a dos decimales es " + Number(decimalIngresado).toFixed(2));
            valor = true;
            extrarNumero();

        } else {
            alert("El numeró ingresado tiene menor o mayor que 4 decimales");
            valor = false;
        }
    } while (valor == false);
}

function extrarNumero() {
    do {
        fraseIngresado = prompt("Introduzca una frase que comience por un número que puede ser entero o decimal", "");
        if (validarFrase(fraseIngresado)) {
            alert("El número extraidos es " + parseInt(fraseIngresado));
            valor = true;

        } else {
            alert("La frase ingresada no contiene número al principio");
            valor = false;
        }
    } while (valor == false);
}

function validarNumero(numeroIngresado) {
    var expReg = /^[0-9]+$/;
    if (!expReg.test(numeroIngresado)) {
        return false;
    } else {
        return true;
    }
}

function validarDecimal(numeroDecimal) {
    var expReg = /^\d+\.\d{4,4}$/;
    if (!expReg.test(numeroDecimal)) {
        return false;
    } else {
        return true;
    }
}

function validarFrase(frase) {
    var expReg = /^[0-9]/;
    if (!expReg.test(frase)) {
        return false;
    } else {
        return true;
    }
}
« Última modificación: 26 de Julio 2020, 20:07 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, para quien revise esto, el ejercicio está bien resuelto. Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".