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
Avalados por :
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
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
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
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()));
Hola Amber
var yourTotal = parseInt(yourText1) + parseInt(yourText2);
debería funcionar. Pero ¿asumo que has intentado esto?
Saludos
Antonette
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute