Ir para conteúdo
  • Cadastre-se

dev botao

Como formatar corretamente um número com virgula


Ver Solução Respondido por BigWings,
  • Este tópico foi criado há 2182 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Prezados,

Informei no componente ACBrSpedFiscal a propriedade CurMascara com o valor #0,00 porque ao importar o arquivo no Validador esta retornando erro, dizendo que o número com ponto, 5.14 (por exemplo) não era um número válido.

No entanto agora o campo apresenta apenas os números, sem nenhuma máscara.

Como posso fazer para que o registro seja mostrado com vírgulas invés de pontos de forma correta?

  • Consultores
Postado

Verifique primeiro se com o programa de exemplo funciona, por favor. Porque não me lembro desse problema.

Pode ser que seu sistema esteja alterando a formatação de campos float do Windows.

  • Curtir 1
  • Obrigado 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado (editado)

Bom dia.

Estou utilizando o sistema operacional Ubuntu e o Lazarus, deve ser por isso que não esta formatando, mesmo que configurado o componente para colocar a vírgula invés do ponto, vou verificar.

E o tipo do objeto no ACBr, VL_DOC, VL_DESC por exemplo, é Currency, assim não consigo colocar manualmente vírgula invés de ponto.

Editado por giancarloandroid
Postado (editado)

Defini a propriedade CurMascara com #0.00.

Atributo VL_DESC fixamente com 475.45.

E na hora de gerar saiu com 475.45.

Ao definir outro no campo CurMascara de forma que seja gerado o valor com 475,45 no arquivo, o mesmo não é preenchido corretamente no arquivo. Tentei #0,00 e outras formas.

Obs: Sistema operacional Linux, com a utilização da IDE Lazarus.

 

 

Captura de tela_2018-11-23_13-42-21.png

Captura de tela_2018-11-23_13-42-45.png

Captura de tela_2018-11-23_13-43-12.png

Editado por giancarloandroid
Postado (editado)
7 minutos atrás, Amarildo de Matos disse:

mas nao tem de colocar# tambem no final?  tipo #0,00# ?

 

Obrigado pela ajuda, mas no momento ainda não resolveu a formatação correta para gerar o SPED.

Captura de tela_2018-11-23_15-25-10.png

dsa.png

dsae.png

Editado por giancarloandroid
Postado

Por enquanto, como ainda estou desenvolvendo e validando apenas,  efetuo um replace all em uma ferramenta de texto trocando os pontos pelas vírgulas.

Ainda não consegui resolver por definitivo, pelo que entendi informando a mascara como #0,00 já deveria formatar corretamente.

Estou utilizando Lazarus no sistema operacional Xubuntu (derivado do Ubuntu), e no projeto crio uma instância da classe TACBrSPEDFiscal manualmente, no entanto vejo que mesmo não setado o componente em um DataModule deveria estar formatando corretamente.

  • Moderadores
  • Solution
Postado
29 minutos atrás, giancarloandroid disse:

Ainda não consegui resolver por definitivo, pelo que entendi informando a mascara como #0,00 já deveria formatar corretamente.

Na formatação de valores a vírgula é entendida como o separador de milhares do sistema.

Então provavelmente o ambiente está configurado para o formato americano, ex.: 1,500.49.

Dessa forma com a máscara #0,00 sem o caracteres de separador decimal faz com que a parte decimal seja ignorada.

O que você pode tentar é manter a máscara original e alterar os caracteres na geração do arquivo.

var
  OldDecimalSeparator: Char;
  OldThousandSeparator: Char;
begin
  OldDecimalSeparator := DecimalSeparator;
  OldThousandSeparator := ThousandSeparator;
  DecimalSeparator := ',';
  ThousandSeparator := '.';
  try
    // Rotina para gerar o arquivo SPED
  finally
    DecimalSeparator := OldDecimalSeparator;
    ThousandSeparator := OldThousandSeparator;
  end;
end;

 

  • Curtir 1
  • Obrigado 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • 2 semanas depois ...
Postado
Em 29/11/2018 at 12:05, Amarildo de Matos disse:

opa.. obrigado giancar pelo retorno, e obrigado , big pela informação.

Giancar, tem como voce postar a solucao.?

 

Desculpa a demora em responder.

Praticamente utilizei a solução que o BigWings sugeriu.

Tem a ver com alguma configuração do sistema que utilizo e estava invertendo a ordem da configuração providenciada na propriedade CurMascara.

  • Curtir 2
  • Este tópico foi criado há 2182 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.