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
Avalados por :
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
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
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
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()));
Olá Amber
var seuTotal = parseInt(seuTexto1) + parseInt(seuTexto2);
Deveria funcionar. Mas presumo que você tentou isso?
Saudações
Antonette
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute