Multiplicar dois campos no formulário

Eric80
Giga Contributor

Boa tarde, pessoal. 

Preciso multiplicar dois campos em um formulário. 

Exemplo:

Campo A: 2300,30 * Campo B: 2 == Campo C: 4600, 60. 

Com a quantidade inteira, ou seja sem o decimal, dá certo. Porém, não consigo fazer com que ele some os decimais juntos. 

8 REPLIES 8

Alexandre17
Tera Expert

Pode ser o "ponto":

 

var numero1 = 2300.30;
var numero2 = 4600.60 ;
var conta = numero1 * numero2;
gs.info("o resultado é " + conta);
xxxx: o resultado é 10582760.180000002

 

var numero1 = 2300,30;
var numero2 = 4600,60 ;
var conta = numero1 * numero2;
gs.info("o resultado é " + conta);

 

Evaluator: com.glide.script.RhinoEcmaError: missing variable name
   script : Line(1) column(22)
var numero1 = 2300,30;

AMANDA DE ANDRD
Giga Contributor

Olá Raphael, tudo bem!

Criei a tabela e flow multiplicando os campos para ver se te ajuda:

A tabela Multiplicação possui: 

campo_a;

campo_b;

multiplicação = campo_a * campo_b 

 

A lógica do Flow esta descrita conforme tela: 

find_real_file.png

 

find_real_file.png

Obs: Não esquece de Salvar. 

Observe que através do Flow, posso digitar no formulário os números com "," separando as casas decimais.

Time Zone - configurado para  America/São Paulo

find_real_file.png

 

Teste foi validado: No teste - o valor não está arredondado, mas na saída da tabela está. 

find_real_file.png

 

find_real_file.png

 

Espero ter ajudado. 

AMANDA DE ANDRD
Giga Contributor

Só complementando: Em minha tabela, os valores doa Campos A, B e multiplicaçaõ estão definidos como type Decimal. 

find_real_file.png

 

Abraços. 

tiago santana1
Tera Contributor

Ola,

Montei um cenario para ficar mais claro alguns pontos.

Javascript não faz calculos com "," então precisamos fazer algumas formatações para que isso seja feito de modo adequado.

O que podemos fazer é pegar os dados de entrada e usar o método replace() para alterar o valor do campo para que seja possivel fazer o calculo, depois usar o metodo parseFloat() para calcular numeros decimais.

por ultimo temos que retornar o formato desejado ao campo ao qual queremos imprimir o resultado já formatado, novamente usando o método replace().

Montei um scenario de teste apenas para exemplificar e tornar mais fácil o entendimento.

No exemplo eu criei um client script onChange() que roda sempre no campo "u_num2", os 3 campos foram criados como "string".

find_real_file.png

Resultado:

find_real_file.png

 

Se lhe ajudou de alguma forma, marque este comentario !