¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo sumar números en campos de texto en SAPUI5 sin vinculación

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 5 Vistas
0
Cargando...

Hola a todos,

He creado 2 campos de texto, un campo de vista de texto y un botón. Quiero que cuando el usuario ingrese algunos números en ambos campos y haga clic en el botón, el campo de vista de texto se llene con la suma de los 2 números.

Encontré que por defecto los valores en los campos de texto (obtenidos usando getValue()) se consideran como cadena, por lo tanto, las operaciones aritméticas en ellos no son posibles a menos que los convirtamos a enteros.

En javascript/java normalmente teníamos una función parseInt() para este propósito, pero aquí no pude encontrar una función similar. En su lugar, encontré el siguiente fragmento de código al buscar. No sé si esta es la única forma de lograr esto, ya que parece un poco largo considerando que solo estamos convirtiendo una variable. Sin embargo, la declaración de oNumberFormat me da un error en la consola "No se puede leer la propiedad number de indefinido".

var oNumberFormat = sap.ui.core.format.NumberFormat.getIntegerInstance({
maxFractionDigits: 0,
groupingEnabled: false
}); // Devuelve una instancia de NumberFormat para enteros*/


var oField = new sap . ui . commons . TextField ();
oField
. setValue ( oNumberFormat . format ( fValue )); // esto será reemplazado por getValue en lugar de fvalue


PD: No estoy utilizando ninguna vinculación


Gracias de antemano por tu ayuda


Saludos


Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Vladmirs,

Gracias por tus aportes. Si no son TextFields, ¿qué control de interfaz de usuario debería usar para aceptar un número o un valor flotante en un campo de entrada del usuario, por favor házmelo saber.

Saludos

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

No estoy seguro por qué estás usando TextField para almacenar números... Los TextFields deberían usarse para texto.

De todos modos, puedes utilizar la conversión de tipo de datos usando parseInt o simplemente multiplicar getValue por 1 - JS Bin - Depuración colaborativa de JavaScript

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Muchas gracias, funcionó. En realidad, pensaba que parseInt() sería un método para un objeto individual de TextField, por lo tanto, estaba buscando allí. Lo siento, soy nuevo en UI5 y estoy aprendiendo, así que parece que hice una pregunta tonta.

Ahora el código a continuación funciona perfectamente para mí.

sap.ui.getCore().byId("tv1").setText(parseInt(sap.ui.getCore().byId("tf1").getValue()) + parseInt(sap.ui.getCore().byId("tf2").getValue()));

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Amber

var yourTotal = parseInt(yourText1) + parseInt(yourText2);

debería funcionar. Pero ¿asumo que has intentado esto?

Saludos

Antonette

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?