Cálculo com decimais no Delphi 3
13/09/2004
0
A fim de explicar direitinho a minha situação coloco aqui o meu problema.
Campos que estou utilizando:
------------------------------------------------------------------
Vencimento = Data
Valor = Moeda
Juros = Numerico/100 (Divido por 100 para obter valor percentual.
Pago em = Data
Dias em atraso = Numerico (Pago em - Vencimento)
A Pagar = Moeda
------------------------------------------------------------------
O que quero fazer é poder clicar num botão e ele calcular o valor A pagar,
resolvendo o cálculo da seguinte maneira.
A Pagar := Valor * (1+Juros)^Numero de Dias.
Obs.: O juros tem valor decimal (0,33¬).
Estou trabalhando com Query e meu banco de dados é Paradox, utilizo o Delphi 3.
Não sei porque motivo a Unit Math não funciona no meu computador.
Um colega aqui do Fórum cedeu-me o código da função Power, mas na hora de
compilar ele exibe a seguinte mensagem de erro.
Error: C:\Sistemas prontos\Controle Escolar\Fontes\Mensalidades.pas(254) Incompatible
types: ´Integer´ and ´Double´.
O código que me foi fornecido é este:
------------------------------------------------------------------
function Power (Base: Extended; Exponent: Integer): Extended;
asm
mov ecx, eax
cdq
fld1
xor eax, edx
sub eax, edx
jz @@3
fld Base
jmp @@2
@@1: fmul ST, ST
@@2: shr eax,1
jnc @@1
fmul ST(1),ST
jnz @@1
fstp st
cmp ecx, 0
jge @@3
fld1
fdivrp
@@3:
fwait
end;
------------------------------------------------------------------
Acreditando no auxílio de todos que formam o ClubeDelphi, antecipadamente agradeço.
Campos que estou utilizando:
------------------------------------------------------------------
Vencimento = Data
Valor = Moeda
Juros = Numerico/100 (Divido por 100 para obter valor percentual.
Pago em = Data
Dias em atraso = Numerico (Pago em - Vencimento)
A Pagar = Moeda
------------------------------------------------------------------
O que quero fazer é poder clicar num botão e ele calcular o valor A pagar,
resolvendo o cálculo da seguinte maneira.
A Pagar := Valor * (1+Juros)^Numero de Dias.
Obs.: O juros tem valor decimal (0,33¬).
Estou trabalhando com Query e meu banco de dados é Paradox, utilizo o Delphi 3.
Não sei porque motivo a Unit Math não funciona no meu computador.
Um colega aqui do Fórum cedeu-me o código da função Power, mas na hora de
compilar ele exibe a seguinte mensagem de erro.
Error: C:\Sistemas prontos\Controle Escolar\Fontes\Mensalidades.pas(254) Incompatible
types: ´Integer´ and ´Double´.
O código que me foi fornecido é este:
------------------------------------------------------------------
function Power (Base: Extended; Exponent: Integer): Extended;
asm
mov ecx, eax
cdq
fld1
xor eax, edx
sub eax, edx
jz @@3
fld Base
jmp @@2
@@1: fmul ST, ST
@@2: shr eax,1
jnc @@1
fmul ST(1),ST
jnz @@1
fstp st
cmp ecx, 0
jge @@3
fld1
fdivrp
@@3:
fwait
end;
------------------------------------------------------------------
Acreditando no auxílio de todos que formam o ClubeDelphi, antecipadamente agradeço.
Pro-luck
Curtir tópico
+ 0
Responder
Posts
13/09/2004
Sandra
Tópico bloqueado: duplicidade´
http://delphiforum.icft.com.br/forum/viewtopic.php?t=51512
Pro-Luck,
Solicito encarecidamente que não poste sua mensagem repetidas vezes no fórum. Utilize um só tópico para buscar solução para o seu problema.
Por favor, releia as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.
http://delphiforum.icft.com.br/forum/viewtopic.php?t=51512
Pro-Luck,
Solicito encarecidamente que não poste sua mensagem repetidas vezes no fórum. Utilize um só tópico para buscar solução para o seu problema.
Por favor, releia as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.
Responder
Clique aqui para fazer login e interagir na Comunidade :)