Integração RM x GED identificar os centavos do campo no formulário

Estou tentando fazer uma integração GED x RM porém o RM não entende a formatação que eu coloco

O campo vem do formulário da seguinte maneira
“12.000,00”

Para adaptar a integração eu faço a seguinte tratativa no back-end

var pPRECOUNITARIO=hAPI.getCardValue(“PRECO___”+indexes[i]).replaceAll(“.”,“”).replaceAll(“,”,“.”);

pPRECOUNITARIO = parseFloat(pPRECOUNITARIO).toFixed(2);

Porém no RM ele coloca os dois zeros para frente e fica da seguinte forma

“1200000.0000”

Alguém sabe como fazer para o RM entender que o que tem depois da virgula são os centavos?

Tem que ver como o seu RM está configurado para WS.

Aqui enviamos com a vírgula sendo o separador para centavos.

Pela descrição do seu problema parece que o seu RM também está configurado pra receber vírgula como separador de centavos.

Olá,

Essa conversão você está fazendo no fluig?
O método replaceAll não funciona no Javascript do fluig do lado do servidor.
Tente o seguinte:

var pPRECOUNITARIO=hAPI.getCardValue(“PRECO___”+indexes[i]).replace(/\./g, '').replace(/,/g, '.'));

Apanhei bastante com isso, sem contar métodos Javascript que dão conflito com métodos de classes Java.

1 curtida

Mais uma coisa:

pPRECOUNITARIO = parseFloat(pPRECOUNITARIO).toFixed(2);

Nesse trecho você está convertendo novamente para string, é isso mesmo que você quer fazer?

Na verdade o que eu queria com isso era converter para float

Você chegou a tentar conforme eu falei?
Eu ainda forçaria a conversão para string concatenando com uma string vazia conforme abaixo:

var pPRECOUNITARIO = (hAPI.getCardValue("PRECO___" + indexes[i]) + '').replace(/\./g, '').replace(/,/g, '.'));

pPRECOUNITARIO = parseFloat(pPRECOUNITARIO);

Sim sim, e funcionou certinho. Muito obrigado!