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 

Arredondamento Decimal

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


Registrado: Sábado, 19 de Julho de 2008
Mensagens: 48

MensagemEnviada: Qui Jul 12, 2012 7:42 am    Assunto: Arredondamento Decimal Responder com Citação

Bom Dia Pessoal,

Estou com um problema em arredondamento de casa decimais.
Estou desenvolvendo um relatório em QuickReport, que realiza a impressão do valor a ser pago para os funcionários de Hora Extra.

Porem eu gostaria que o valor total, que provem de uma select sum(), arredondasse da seguinte forma.

Ex. 1,01 - 1,49 = 1,50
1,51 - 1,99 = 2,00 .... assim por diante

Ou seja sempre arredondar de 50 em 50 centavos.

Teria alguma rotina para estar fazendo este arredondamento??


Editado pela última vez por alexrosalin em Qui Jul 12, 2012 9:25 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Caduzera
Profissional
Profissional


Registrado: Terça-Feira, 29 de Julho de 2008
Mensagens: 656

MensagemEnviada: Qui Jul 12, 2012 8:04 am    Assunto: Responder com Citação

Amigo, creio que você mesmo tenha que criar uma rotina de arredondamento que atenda as suas necessidades ...

Vamos ver se alguém conhece alguma coisa "pronta" ...

Abs
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
alexrosalin
Novato
Novato


Registrado: Sábado, 19 de Julho de 2008
Mensagens: 48

MensagemEnviada: Qui Jul 12, 2012 8:29 am    Assunto: Responder com Citação

Sim, concerteza vou ter que fazer uma q atenda minhas necessidades.

Mas gostaria de saber/ver algum exemplo, algo que se aproxime da minha necessidade.

Se alguém souber como eu posso estar solucionando, ou algo aproximado eu agradeço desde já!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9098
Localização: Sinop-MT

MensagemEnviada: Qui Jul 12, 2012 9:25 am    Assunto: Responder com Citação

tente assim:

Código:
function Arredonda(Valor: Currency): Currency;
var Centavos: Integer;
begin
   Result := Int(Valor);
   Centavos := Trunc(Frac(Valor)*100);
   case Centavos of
      1..49: Result := Result + 0.5;
      51..99: Result := Result + 1;
   end;
end;

_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
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