Contributor: PEDRO GUTIERREZ
Program Sample_Trunc_Frac;
Var
 nNumber,
 nTrunc,
 nFrac : Real;
{ Number es xxxx.yyy }
Procedure Trunc_Frac(nIn : Real; Var nTruncOut,nFracOut : Real);
Var cSt : String;
 nDummy : Integer;
Begin
 Str(nIn:18:8,cSt);
 Val(Copy(cSt,1,10),nTruncOut,nDummy);
 Val('0'+Copy(cSt,10,5),nFracOut,nDummy); { .xxx }
End;
Begin
 Writeln;
 nNumber := 1234567.891234;
 Trunc_frac(nNumber,nTrunc,nFrac);
 Writeln('Number : ',nNumber:18:8,
 ' Trunc : ',nTrunc:10:0,
 ' Frac : ',nFrac:18:8);
 nNumber := 5555.0;
 Trunc_frac(nNumber,nTrunc,nFrac);
 Writeln('Number : ',nNumber:18:8,
 ' Trunc : ',nTrunc:10:0,
 ' Frac : ',nFrac:18:8);
 nNumber := -10001.555;
 Trunc_frac(nNumber,nTrunc,nFrac);
 Writeln('Number : ',nNumber:18:8,
 ' Trunc : ',nTrunc:10:0,
 ' Frac : ',nFrac:18:8);
End.


AltStyle によって変換されたページ (->オリジナル) /