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.

Calculadora básica: ¿Cómo programar una función para eliminar dígitos uno por uno? (GDScript)

¿Cómo se supone que debo codificar un botón que elimine dígitos uno por uno en una calculadora básica?

Aquí está mi script hasta ahora: https://pastebin.com/xLj2iCHU

func _on_BDeleteDigit_pressed():
    var numberAdded
    var numberBefore = $NumberStuffs.get_text()
    numberAdded = numberAdded.length() - 1
    numberAdded[numberBefore]=("")
    $Outputlabel.set_text(str(numberAdded))

También este es el error cuando se presiona el botón de eliminación: https://i.stack.imgur.com/8OJTI.png

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para codificar un botón que elimine los dígitos uno a uno en una calculadora básica, puedes modificar el script existente de la siguiente manera:

    func _on_BDeleteDigit_pressed():
        var numberBefore = $NumberStuffs.get_text()
        var numberAfter = numberBefore.substr(0, numberBefore.length() - 1)
        $NumberStuffs.set_text(numberAfter)
        $Outputlabel.set_text("")  # limpiar el resultado después de borrar
    

    En este script modificado, obtenemos el texto actual en la pantalla de la calculadora usando $NumberStuffs.get_text(). Luego, eliminamos el último caracter de la cadena utilizando el método substr() y lo guardamos en la variable numberAfter. A continuación, configuramos esta nueva cadena como el texto para la pantalla de la calculadora usando $NumberStuffs.set_text(numberAfter). Por último, limpiamos la etiqueta de resultado utilizando $Outputlabel.set_text("") después de eliminar el dígito para evitar mostrar resultados obsoletos.

    El error en el script original parece ser debido al uso de una variable no definida llamada numberAdded. En su lugar, podemos modificar directamente la cadena numberBefore eliminando el último caracter como se muestra arriba.

Comments are closed.