Swift реализует .round()
функцию с правилами, в соответствии с Apple
FloatingPointRoundingRule
case awayFromZero
Округление до ближайшего допустимого значения, величина которого больше или равнак источнику.
case down
Округление до ближайшего допустимого значения, которое меньше или равно источнику.
case toNearestOrAwayFromZero
Округление до ближайшего допустимого значения;если два значения одинаково близки, выбирается значение с большей величиной.
case toNearestOrEven
Округление до ближайшего допустимого значения;если два значения одинаково близки, выбирается четное.
case towardZero
Округление до ближайшего допустимого значения, величина которого меньше или равна величине источника.
case up
Округлить до ближайшего допустимого значения, которое больше или равно источнику.