Code : Tout sélectionner
Procedure.q Tronque(Decimale.d)
Protected Multiplicateur.q=1
Repeat
PartiEntiere.q= Int(Decimale*Multiplicateur)
Decimaledecalee1.d=Decimale*Multiplicateur
Decimaledecalee2.d=PartiEntiere
;Debug Decimaledecalee1
;Debug Decimaledecalee2
If Decimaledecalee1 = Decimaledecalee2
ProcedureReturn (Abs(Decimale) - Abs(Int(Decimale))) * Multiplicateur
EndIf
Multiplicateur=Multiplicateur*10
Until Multiplicateur =1000000000000000000
ProcedureReturn -1
EndProcedure
floating.d = 8.7884578924
Debug Tronque(floating)