В NSDecimalNumber
существует метод округления числа, I.E.Округление десятичное
let handler = NSDecimalNumberHandler(roundingMode: .plain, scale: 2, raiseOnExactness: false, raiseOnOverflow: false, raiseOnUnderflow: false, raiseOnDivideByZero: false)
let example: NSDecimalNumber = 1.345
let rounded: NSDecimalNumber = example.rounding(accordingToBehavior: handler)
Теперь я перешел на Decimal
и это, кажется, не метод округлять числа, как NSDecimalNumber
имеет. Должен ли я отдать его на NSDecimalNumber
и отбросить его обратно до Decimal
, чтобы округлить вещи или есть лучший и элегантный способ округления Decimal
?
EDIT: сделал лучший пример
Похоже на то, что я сделал в моем примере, за исключением того, что это выглядит немного короче. Жаль, что нет встроенной опции для округления «Десятичная». Я оставлю ответ немаркированным на короткое время, если нет другой альтернативы, тогда я отмечу это как ответ, спасибо! –
@HennyLee, IMO, это может быть своего рода не все-таки вещь (по крайней мере, я надеюсь, что так), поскольку запись расширений для 'Decimal', включая' rounding (...) ', очень просто. Чтобы ускорить движение Apple к нему, лучше отправьте [запрос функции] (http://developer.apple.com/bug-reporting/). – OOPer