Ja mir war aufgefallen, dass deine nicht 100%ig jener von Delphi entspricht, aber meistens wohl genügt
.
Delphi setzt dies um:
https://docs.microsoft.com/en-us/win...winbase-muldiv
D.h. deine nachgebaute Funktion sollte zum Beispiel in gewissen Fällen -1 ausgeben.
Fürs Runden solltest du nicht round verwenden. round(x) rundet .5 immer auf
die gerade Zahl, welche x am nächsten liegt. Beispiel 0.5 wird auf 0 gerundet, 1.5 auf 2, 2.5 auf 2, 3.5 auf 4. MulDiv macht's anders. Schau dir zum Beispiel trunc an.
Zum Runden in Delphi gibt's
hier Infos.