ich habe hier mal eine kleine Rundungsfunktion, die gerade bei größeren Zahlen ein Bereichsüberlauf verhindert:
Code: Alles auswählen
Procedure.f Runden (Zahl.f, Stellen.b)
Protected vorkomma.l, nachkomma.l, Entscheider.b, ergebnis.f, teiler1.l, teiler2.l
teiler1 = Pow(10, Stellen)
teiler2 = Pow(10, Stellen + 1)
vorkomma = Int(Zahl)
nachkomma = Int((Zahl-vorkomma) * teiler1)
Entscheider = Int((Zahl-vorkomma) * teiler2) - nachkomma * 10
If Entscheider < 5
ergebnis = vorkomma + (nachkomma/teiler1)
Else
ergebnis = vorkomma + ((nachkomma + 1)/teiler1)
EndIf
ProcedureReturn ergebnis
EndProcedure
Gruß Karl