Decimal+rounding.swift 583 B

1234567891011121314151617181920
  1. import Foundation
  2. extension Decimal {
  3. func rounded(scale: Int, roundingMode: NSDecimalNumber.RoundingMode = .plain) -> Decimal {
  4. let handler = NSDecimalNumberHandler(
  5. roundingMode: roundingMode,
  6. scale: Int16(scale),
  7. raiseOnExactness: false,
  8. raiseOnOverflow: false,
  9. raiseOnUnderflow: false,
  10. raiseOnDivideByZero: false
  11. )
  12. return NSDecimalNumber(decimal: self).rounding(accordingToBehavior: handler).decimalValue
  13. }
  14. func rounded() -> Decimal {
  15. rounded(scale: 0)
  16. }
  17. }