Ir para conteúdo
  • Cadastre-se

dev botao

Problemas Na Validação Com O Xsd De Valores Decimais


  • Este tópico foi criado há 3629 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá pessoal, encontrei um Bug no parse do XSD do XML da NFe, quando o valor total do produto for 1210085.66 ao passar pelo método TGerador.wCampo especificamente pela linha de código: 

ConteudoProcessado  := FormatFloat('0.0000000000', valor);

Retornava o valor de string na variável ConteudoProcessado = 1210085.6599999999 sendo que o campo vProd do produto é somente duas decimais, definido por tcDe2 era emitido um alerta, então fiz alguns testes e consegui resolver somente desta maneira, código abaixo:

                // Tipo numerico com decimais
                  case Tipo of
                    tcDe2 : begin
                      NumeroDecimais :=  2;
                      ConteudoProcessado  := FormatFloat('0.00', valor);
                    end;
                    tcDe3 : begin
                      NumeroDecimais :=  3;
                      ConteudoProcessado  := FormatFloat('0.000', valor);
                    end;
                    tcDe4 : begin
                      NumeroDecimais :=  4;
                      ConteudoProcessado  := FormatFloat('0.0000', valor);
                    end;
                    tcDe6 : begin
                      NumeroDecimais :=  6; // Incluido por Italo em 30/09/2010
                      ConteudoProcessado  := FormatFloat('0.000000', valor);
                    end;
                    tcDe10: begin
                      NumeroDecimais := 10;
                      ConteudoProcessado  := FormatFloat('0.0000000000', valor);
                    end;
                  end;
                  //VlrExt := StrToFloat(valor);
                  //ConteudoProcessado  := FormatFloat('0.0000000000', valor);

Alguém tem outra idéia de como solucionar o caso, se não precisaria que fosse enviado o ajuste no svn desta situação.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3629 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.