2009/7/19 Rubem Nascimento da Rocha <djpardalro...@hotmail.com>:
> 2009/7/19 Joao Morais <jcmorai...@gmail.com>:
>> On Sat, Jul 18, 2009 at 8:13 PM, rodrigoojapa<rodrigooj...@hotmail.com> 
>> wrote:
>>> Alguem sabe como eu posso fazer para converter um double para byte????
>>
>> Com Round se você quiser arredondamento da parte fracionária, ou
>> com... Trunc, acho, que ignora a parte fracionária. Vale lembrar que
>> dependendo do valor guardado no double, você pode ter um resultado
>> errado tal como foi colocado pelo Rubem.
>
> Resultado errado?????

Sim.

> Mais uma coisa, se for pra fazer um typecast do trunc do valor double, vc 
> terá o byte
> mais baixo. Cast direto de um double não é permitido; na hora de compilar, 
> vai dar o
> erro 'invalid typecast'.

Não estou falando de typecast, nem faz muito sentido cast entre tipos
primitivos. Eu estou falando de:

var
  a: double;
  b: byte;
begin
  a := 1000;
  b := trunc(a);
  writeln(b);
end.

Joao Morais

Responder a