Ir para conteúdo
  • Cadastre-se

Hugototall

Membros
  • Total de ítens

    1
  • Registro em

  • Última visita

Posts postados por Hugototall

  1. Olá!
     

    Na geração do registro H010 o campo VL_UNI mesmo se informando valores com 6 casas decimais, ele gera o valor considerando apenas 4 decimais, devido ao parâmetro ser do tipo currency, e depois utilizando o FormatCurrency ele adiciona dois zeros para completar as 6 decimais exigidas pelo campo.

     

    Eu corrigi o problema da seguinte forma :

     

     

    function TACBrTXTClass.LFill(Value: Double;
                            Size: Integer;
                            Decimal: Integer = 2;
                            Nulo: Boolean = false;
                            Caracter: Char = '0';
                            Mascara: String = ''): String;
    var
    intFor, intP: Integer;
    strCurMascara: string;
    begin
      strCurMascara := FCurMascara;
      // Se recebeu uma mascara como parametro substitue a principal
      if Mascara <> '' then
         strCurMascara := Mascara;

      /// Se o parametro Nulo = true e Value = 0, será retornado '|'
      if (Nulo) and (Value = 0) then
      begin
         Result := FDelimitador;
         Exit;
      end;
      intP := 1;
      for intFor := 1 to Decimal do
      begin
         intP := intP * 10;
      end;
      if strCurMascara <> '' then
         Result := FDelimitador + FormatFloat(strCurMascara, Value)
      else
         Result := LFill(Trunc(Value * intP), Size, Nulo, Caracter);
    end;



     

×
×
  • 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.