Fórum Verificar se variável é Decimal #499241
27/10/2014
0
Pessoal, to precisando de uma ajuda. Eu to fazendo um programa pra calcular equações de 2º grau. O programa está praticamente pronto, porém na hora de apresentar o resultado, preciso verificar se o número é decimal ou não.
if (<condição>) then
lbl5.Caption := FloatToStr(X1)
else
lbl5.Caption := FloatToStr(X1) + '/' + FloatToStr(2*A);
if (<condição>) then
lbl6.Caption := FloatToStr(X2)
else
lbl6.Caption := FloatToStr(X2) + '/' + FloatToStr(2*A);
Se o valor da divisão for decimal, preciso mostrar em forma de fração. Exemplo:
Se X1 / (2*A) = 7,333 tenho que apresentar 22 / 3. Porém de for inteiro (21 / 3 = 7), é só apresentar.
Preciso de ajuda pra criar essa <condição>.
Desde já, obrigado pela ajuda.
if (<condição>) then
lbl5.Caption := FloatToStr(X1)
else
lbl5.Caption := FloatToStr(X1) + '/' + FloatToStr(2*A);
if (<condição>) then
lbl6.Caption := FloatToStr(X2)
else
lbl6.Caption := FloatToStr(X2) + '/' + FloatToStr(2*A);
Se o valor da divisão for decimal, preciso mostrar em forma de fração. Exemplo:
Se X1 / (2*A) = 7,333 tenho que apresentar 22 / 3. Porém de for inteiro (21 / 3 = 7), é só apresentar.
Preciso de ajuda pra criar essa <condição>.
Desde já, obrigado pela ajuda.
Heitor Batista
Curtir tópico
+ 0
Responder
Post mais votado
28/10/2014
Buenos,
Valida com Trunc(). Se for igual ao valor sem Trunc() é inteiro, senão, é decimal.
Abraççç,
Renato
Valida com Trunc(). Se for igual ao valor sem Trunc() é inteiro, senão, é decimal.
if (Trunc(X1) = X1) then lbl5.Caption := FloatToStr(X1) else lbl5.Caption := FloatToStr(X1) + '/' + FloatToStr(2*A);
Abraççç,
Renato
Renato Rubinho
Responder
Gostei + 3
Clique aqui para fazer login e interagir na Comunidade :)