Calculo de meses
Criei uma variável Double para receber a soma de um campo q é o resultado de quantos dias tem entre um período do outro e preciso saber quantos meses darão aqueles dias então coloquei esta variável desta forma:
WConta:= TbParcelaDias.Value / 30;
e o resultado desta variável as vezes fica por exemplo 2.6 passa de dois meses neste caso e enquanto não completar os 3 meses eu só posso considerar 2 meses para calcular as multas q quero pois neste caso só posso calcular se interar os meses completo. Então se alguém puder me ajudar e ter alguma idéia para q eu consiga considerar como neste exemplo somente dois meses e não 2.6. ou alguma forma de trazer o calculo entre as duas datas q tenho de quantos meses redondo darão desconsideranto os dias q podem sobrar.
WConta:= TbParcelaDias.Value / 30;
e o resultado desta variável as vezes fica por exemplo 2.6 passa de dois meses neste caso e enquanto não completar os 3 meses eu só posso considerar 2 meses para calcular as multas q quero pois neste caso só posso calcular se interar os meses completo. Então se alguém puder me ajudar e ter alguma idéia para q eu consiga considerar como neste exemplo somente dois meses e não 2.6. ou alguma forma de trazer o calculo entre as duas datas q tenho de quantos meses redondo darão desconsideranto os dias q podem sobrar.
Janete
Curtidas 0
Respostas
Rodrigop
20/10/2003
Olá Janete. Espero ajudar.
Parace que o seu problema é simples. Não sei se eu entendi errado, mas enfim. Uma possível solução.
Eu entendi que o seu problema seria com as frações da divisão, que podem ser desprezadas. Eu sugeriria a vc trocar talvez essa variável doubre (que não precisa ser double, vc não vai considerar 0,5 dia, etc) por uma variável inteira e correr pro abraço. O código que eu experimentei abaixo dá uma idéia do que eu estou querendo lhe falar:
Com o [b:35dd546f7e]div[/b:35dd546f7e] teremos uma divisão exata e o resultado para 90 dias, 95 ou 98 será sempre o mesmo, ´3´.
Espero ter ajudado, senão explique melhor o que deseja que eu e os demais participantes se esforçarão para lhe ajudar.
[ ]´s
Parace que o seu problema é simples. Não sei se eu entendi errado, mas enfim. Uma possível solução.
Eu entendi que o seu problema seria com as frações da divisão, que podem ser desprezadas. Eu sugeriria a vc trocar talvez essa variável doubre (que não precisa ser double, vc não vai considerar 0,5 dia, etc) por uma variável inteira e correr pro abraço. O código que eu experimentei abaixo dá uma idéia do que eu estou querendo lhe falar:
procedure TForm1.Button1Click(Sender: TObject); begin Edit2.Text:=IntToStr(StrToInt(Edit1.Text) div 30); end;
Com o [b:35dd546f7e]div[/b:35dd546f7e] teremos uma divisão exata e o resultado para 90 dias, 95 ou 98 será sempre o mesmo, ´3´.
Espero ter ajudado, senão explique melhor o que deseja que eu e os demais participantes se esforçarão para lhe ajudar.
[ ]´s
GOSTEI 0