ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Dúvida dobre arredondamento com 4 casas decimais

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
ggiovanii
Novato
Novato


Registrado: Segunda-Feira, 23 de Agosto de 2010
Mensagens: 2

MensagemEnviada: Seg Ago 23, 2010 10:17 am    Assunto: Dúvida dobre arredondamento com 4 casas decimais Responder com Citação

Boa tarde amigos

Tô precisando arredondar um valor com quatro casas decimais alguem tem alguma idéia de como fazer ou tem alguma função ?

Tentei usar o Round + naum deu certo

Ex: preciso arredondar um valor ex: 1,1095 para 1,1100


Obrigado pela ajuda!

T+
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
E5150
Aprendiz
Aprendiz


Registrado: Terça-Feira, 17 de Agosto de 2010
Mensagens: 181

MensagemEnviada: Seg Ago 23, 2010 12:20 pm    Assunto: Responder com Citação

Se voce diminuir o numero de casas decimais a ser exibida, passar de 4 para 2 a propria variavel fará isso para você.
Importante lembrar que 1,1095 é muito diferente de 1,1100. Se você trabalha com numeros que precisa de 4 casas decimais de precisão é melhor que não arredonde os valores, pois as diferenças nos calculos certamente comprometerão a qualidade de seu software.
Faça testes com formulas de matematica financeira(juros simples e compostos, descontos simples e compostos, etc) e comprove.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
cyberdisk
Colaborador
Colaborador


Registrado: Domingo, 4 de Julho de 2010
Mensagens: 2385
Localização: São José dos Campos - SP

MensagemEnviada: Seg Ago 23, 2010 12:24 pm    Assunto: Responder com Citação

veja esse post e faça um teste

http://www.activedelphi.com.br/forum/viewtopic.php?t=58125

abraço
_________________
O conhecimento abre muitas portas
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 8848
Localização: Governador Valadares-MG

MensagemEnviada: Seg Ago 23, 2010 2:58 pm    Assunto: Responder com Citação

mas ja ta com 4 casas, arrendondar o q?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 9007
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Seg Ago 23, 2010 3:13 pm    Assunto: Responder com Citação

Concordo com vc gilson, arredondar para que, se 1,1967, quator casas decimais e vai ficar com 4, nao tem o que arredontar a menos que o proximo número significativo após as 4 casas seja maior que 5, como nao tem mais nenhum não há o que arrendondar...
Somente caberia arredondamento se houvesse 3 casas...


Por acaso é o mesmo assunto que vc:
http://www.activedelphi.com.br/forum/viewtopic.php?t=58157

bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
BrunoMoreyra
Colaborador
Colaborador


Registrado: Quinta-Feira, 26 de Novembro de 2009
Mensagens: 1401
Localização: Goiânia - GO / Brasília - DF

MensagemEnviada: Seg Ago 23, 2010 3:21 pm    Assunto: Re: Dúvida dobre arredondamento com 4 casas decimais Responder com Citação

Boa tarde,

verifica o que você está querendo.
Pois com 4 (quatro) casas decimais os números já estão.
Você está querendo que fique com 2 (duas) casas decimais, e complete a direita com 0 (zero), onde esses zeros são insignificante.
Para essa segunda opção você, poderá utilizar o round, passando o valor e a quantidade de casas decimais que deseja (2).
E posteriormente terá que criar uma função para preencher com 0 a direitar, e para aparecer com essas casas a direita zerada, tem que ser uma string.

Código:

function ZeroDireita(Numero: Double; CasasDecimais: Integer): String;
var
  Valor: String;
  I, Quant: Integer;
begin
  Valor:= FloatToStr(Numero);

  if (Pos(Valor,',') > 0) then
  // Já possui algum valor decimal, então somente completar   
  else
  // Não existe nenhum decimal, Preenche com 4 zeros (valor passado como parâmetros
end;


ggiovanii escreveu:
Boa tarde amigos

Tô precisando arredondar um valor com quatro casas decimais alguem tem alguma idéia de como fazer ou tem alguma função ?

Tentei usar o Round + naum deu certo

Ex: preciso arredondar um valor ex: 1,1095 para 1,1100


Obrigado pela ajuda!

T+

_________________
Atencisamente,

Bruno Moreira Batista.
http://www.kawek.com.br/BrunoBatista
Skype: Bruno_Batysta
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB