такой подставы я вообще не ожидал... А я ещё филосовствовал об излишестве Floor-а...
Короче:
Function Get_approach#(x#,eps%)
Local res#=Float(Mid(Str(x),1,Len(Str(Int(Floor(x))))+1+eps))
Local mzr%=Int(Mid(Str(x),Len(Str(Int(Floor(x))))+2+eps,1))
If mzr>=5
res=res+10^(-eps)
EndIf
Return res
End Function
Function Get_approach2#(x#,eps%)
Local res#,vLEFT#,vRIGHT#
Local x_s#=Float(Mid(Str(x),1,Len(Str(Int(Floor(x))))+1+eps))
Local mzr%=Int(Mid(Str(x),Len(Str(Int(Floor(x))))+1+eps,1))
Local flag%=mzr Mod 2
vLEFT=x_s+flag*10^(-eps)
vRIGHT=x_s+flag*10^(-eps)
If Abs(x-vLEFT)<Abs(x-vRIGHT)
res=vLEFT
Else
res=vRIGHT
EndIf
Return res
End Function