es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo agregar caracteres no numéricos en una etiqueta

y limpiar el elemento vinculado en Svelte.

Estoy construyendo una aplicación de calculadora y necesito agregar números a una pantalla. También necesito agregar un no-número como * /, o borrar la pantalla y usar una función para hacerlo. Ambos no funcionan porque no puedo borrar la pantalla o agregar no-números a la pantalla. ¡Gracias por adelantado!

Aquí está parte de mi código-

Entonces teniendo

En la pantalla funciona para números como este:

Pero no funciona para no-números como símbolos *, /, – +, y me da una línea roja cuando hago esto:

Además, cuando intento borrar el número así,

No funciona y congela mi código, por lo que no puedo agregar nada más.

Así que intenté hacer que una función lo hiciera así:

Teniendo esto

Pero eso tampoco funcionó, ¿puedes decirme por qué? ¡Gracias!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para añadir símbolos no numéricos como *, /, + o -, debes envolverlos entre comillas (simples o dobles) como esto:

    <button class="button" on:click="{()" ==""> displayobj = displayobj + '*'}>*</button>
    

    La razón por la que tu intento anterior no funcionó fue porque intentaba hacer referencia a una variable llamada * que no existe.

    Para borrar la pantalla y añadir los números / símbolos correctamente, puedes crear una función como esta:

    function clearDisplay() {
      displayobj = 0;
    }
    function appendToDisplay(val) {
      if (displayobj === 0) {
        displayobj = val;
      } else {
        displayobj = displayobj + val;
      }
    }
    

    Luego, puedes llamar a las funciones correspondientes:

    <button class="button" on:click="{clearDisplay}">Borrar</button>
    <button class="button" on:click="{()" ==""> appendToDisplay('*')}>*</button>
    

    La función appendToDisplay verifica si la pantalla está actualmente en 0, y si es así, la establece en el valor añadido. Si no está en 0, agrega el valor al final.

Comments are closed.