Me he encontrado q la funcion Trunc no hace bien su proposito, o eso me parece (vamos, yo diria q no es normal

). Uso Delphi 2k6.
Ahi va el ejemplo q creo q demuestra q no funciona (o eso creo yo):
Código Delphi
[-]
var
Valor1: Real;
Valor2: Word;
begin
Valor1:=(2006.09 - Int(2006.09)) * 100; Valor2:=Trunc(Valor1); ShowMessage(IntToStr(Valor2));
He probado cambiando el 100 por 101 o 100.01 (entre otros), y si funciona, pero no veo logico lo q hace con 100 exactos:
Código Delphi
[-]
var
Valor1: Real;
Valor2: Word;
begin
Valor1:=(2006.09 - Int(2006.09)) * 100.01; Valor2:=Trunc(Valor1); ShowMessage(IntToStr(Valor2));
Quizas sea ya un "bug" conocido, pero... si no es un bug, ¿puede alguien explicarmelo el pq hace esto?, hehe Gracias.