Avalados por :

Como somar números em campos de texto no SAPUI5 sem vinculação

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

Olá a todos,

Criei 2 campos de texto, um campo de visualização de texto e um botão. Quando o usuário inserir alguns números em ambos os campos e clicar no botão, o campo de visualização de texto será preenchido com a soma dos 2 números.

Descobri que por padrão os valores nos campos de texto (obtidos usando getValue()) são considerados como string, portanto, operações aritméticas neles não são possíveis a menos que sejam convertidos em inteiros.

Em javascript/java normalmente tínhamos uma função parseInt() para esse propósito, mas aqui não consegui encontrar uma função similar. Em vez disso, encontrei o seguinte trecho de código ao pesquisar. Não sei se esta é a única maneira de conseguir isso, pois parece um pouco longo considerando que estamos apenas convertendo uma variável. No entanto, a declaração de oNumberFormat me dá um erro no console "Cannot read property number of undefined".

var oNumberFormat = sap.ui.core.format.NumberFormat.getIntegerInstance({
maxFractionDigits: 0,
groupingEnabled: false
}); // Retorna uma instância de NumberFormat para inteiros*/


var oField = new sap . ui . commons . TextField ();
oField
. setValue ( oNumberFormat . format ( fValue )); // isso será substituído por getValue em vez de fvalue


PD: Não estou usando nenhum bind


Obrigado antecipadamente pela ajuda


Saudações


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

4 Respuestas

0
Cargando...

Olá Vladmirs,

Obrigado pelos seus contributos. Se não forem TextFields, que tipo de controle de interface do usuário devo usar para aceitar um número ou um valor decimal em um campo de entrada do usuário, por favor me avise.

Saudações

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

Não tenho certeza por que você está usando TextField para armazenar números... Os TextFields devem ser usados para texto.

De qualquer forma, você pode usar a conversão de tipo de dados usando parseInt ou simplesmente multiplicar getValue por 1 - JS Bin - Depuração colaborativa de JavaScript

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

Muito obrigado, funcionou. Na verdade, eu pensava que parseInt() seria um método para um objeto individual de TextField, então estava procurando lá. Desculpe, sou novo no UI5 e estou aprendendo, então parece que fiz uma pergunta boba.

Agora o código abaixo funciona perfeitamente para mim.

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...

Olá Amber

var seuTotal = parseInt(seuTexto1) + parseInt(seuTexto2);

Deveria funcionar. Mas presumo que você tentou isso?

Saudações

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?