Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Fala pessoal, Boa tarde! 

Estou migrando para trunck2 (meio atrasado né.. rsrs) e encontrei um problema na função FloatToString que demorei para localizar.. rsrs

Quando chamava a função passando 25.30 ela retorna a string 2530

A Função atualmente está assim:

  DS := {$IFDEF HAS_FORMATSETTINGS}FormatSettings.{$ENDIF}DecimalSeparator;
  TS := {$IFDEF HAS_FORMATSETTINGS}FormatSettings.{$ENDIF}ThousandSeparator;

  // Removendo Separador de milhar //
  Result := StringReplace(Result, TS, '', [rfReplaceAll]);

  // Verificando se precisa mudar Separador decimal //
  if DS <> SeparadorDecimal then
    Result := StringReplace(Result, DS, SeparadorDecimal, [rfReplaceAll]);

Ela retira o separador de milhar e depois verifica se o separador decimal é diferente do de milhar e faz a substituição.. 

Só que no meu caso, o separador decimal e de milhar são iguais.. os dois são  . ( ponto )

Então quando ele retira o separador milhar, ele retira o separador decimal junto.. 

Eu fiz a seguinte alteração..

  DS := {$IFDEF HAS_FORMATSETTINGS}FormatSettings.{$ENDIF}DecimalSeparator;
  TS := {$IFDEF HAS_FORMATSETTINGS}FormatSettings.{$ENDIF}ThousandSeparator;

  // Removendo Separador de milhar //
  if ( DS <> TS ) then
     Result := StringReplace(Result, TS, '', [rfReplaceAll]);

  // Verificando se precisa mudar Separador decimal //
  if DS <> SeparadorDecimal then
    Result := StringReplace(Result, DS, SeparadorDecimal, [rfReplaceAll]);

if ( DS <> TS ) then 

só retiro o separador de milhar se for diferente do decimal..

dessa forma corrigiu vários problemas que estavam dando para emitir NFe.

 

Não sei muito bem como funciona a sugestão de alterações, então me decuplem se estou postando no lugar errado.. rs

Postado (editado)

Oi Daniel,

 Aqui na empresa, já trabalhamos a muito tempo dessa forma, só tivemos problemas quando atualizamos o ACBR,

em vários units é usada essa função e o ( . ) estava sumindo, como para localizar o arquivo de schemas, que tbm tem ponto e não estava localizando o arquivo por cauda dessa função.

Estou anexando a unit, 

Obrigado pela atenção!

ACBrUtil.pas

Editado por Hallysson
  • Curtir 1
  • Este tópico foi criado há 3298 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.