NSDecimalNumberHandler
NSDecimalNumberHandler
класс, принимающий NSDecimalNumberBehaviors
протокол. Этот класс позволяет Вам устанавливать путь NSDecimalNumber
объект округляет и обрабатывает ошибки, не имея необходимость создавать пользовательский класс.
Можно использовать экземпляр этого класса как параметр любому из NSDecimalNumber
методы тот конец с ...Behavior:
. Если Вы не думаете, что Вам нужно специальное поведение, Вам, вероятно, не нужен этот класс — это вероятно это NSDecimalNumber
поведение по умолчанию удовлетворит Вашим потребностям.
Для получения дополнительной информации см. спецификацию протокола NSDecimalNumberBehaviors.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSDecimalNumberBehaviors
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSDecimalNumberBehaviors
-
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает экземпляр по умолчанию
NSDecimalNumberHandler
.Объявление
Swift
class func defaultDecimalNumberHandler() -> NSDecimalNumberHandler
Objective C
+ (NSDecimalNumberHandler *)defaultDecimalNumberHandler
Возвращаемое значение
Экземпляр по умолчанию
NSDecimalNumberHandler
.Обсуждение
Этот обработчик десятичного числа по умолчанию округляется к самому близкому возвращаемому значению. Это предполагает, что Ваша потребность в точности не превышает 38 значительных цифр, и это повышает исключение когда
NSDecimalNumber
возразите пытается разделиться на0
или когдаNSDecimalNumber
объект производит число, слишком большое или слишком маленькое, чтобы быть представленным.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
decimalNumberHandlerWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero: + decimalNumberHandlerWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero:
Возвраты
NSDecimalNumberHandler
объект со специализированным поведением.Объявление
Objective C
+ (instancetype)decimalNumberHandlerWithRoundingMode:(NSRoundingMode)
roundingMode
scale:(short)scale
raiseOnExactness:(BOOL)raiseOnExactness
raiseOnOverflow:(BOOL)raiseOnOverflow
raiseOnUnderflow:(BOOL)raiseOnUnderflow
raiseOnDivideByZero:(BOOL)raiseOnDivideByZero
Параметры
roundingMode
Округляющийся режим для использования. Существует четыре возможных значения:
NSRoundUp
,NSRoundDown
,NSRoundPlain
, иNSRoundBankers
.scale
Число цифр округленное значение должно иметь после его десятичной точки.
raiseOnExactness
Если
YES
true
, в случае ошибки точности обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методу.raiseOnOverflow
Если
YES
true
, в случае ошибки переполнения обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методуraiseOnUnderflow
Если
YES
true
, в случае ошибки потери значимости обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методуraiseOnDivideByZero
Если
YES
true
, в случае деления нулевой ошибкой обработчик повысит исключение, иначе это проигнорирует ошибку и возвратит управление вызывающему методуВозвращаемое значение
NSDecimalNumberHandler
объект со специализированным поведением.Обсуждение
См. спецификацию протокола NSDecimalNumberBehaviors для полного объяснения возможных способов поведения.
Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
init (roundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero:) - initWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero:
Определяемый инициализаторВозвраты
NSDecimalNumberHandler
объект инициализировал, таким образом, он ведет себя, как указано параметрами метода.Объявление
Swift
init(roundingMode
roundingMode
: NSRoundingMode, scalescale
: Int16, raiseOnExactnessraiseOnExactness
: Bool, raiseOnOverflowraiseOnOverflow
: Bool, raiseOnUnderflowraiseOnUnderflow
: Bool, raiseOnDivideByZeroraiseOnDivideByZero
: Bool)Objective C
- (instancetype)initWithRoundingMode:(NSRoundingMode)
roundingMode
scale:(short)scale
raiseOnExactness:(BOOL)raiseOnExactness
raiseOnOverflow:(BOOL)raiseOnOverflow
raiseOnUnderflow:(BOOL)raiseOnUnderflow
raiseOnDivideByZero:(BOOL)raiseOnDivideByZero
Параметры
roundingMode
Округляющийся режим для использования. Существует четыре возможных значения:
NSRoundUp
,NSRoundDown
,NSRoundPlain
, иNSRoundBankers
.scale
Число цифр округленное значение должно иметь после его десятичной точки.
raiseOnExactness
Если
YES
true
, в случае ошибки точности обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методу.raiseOnOverflow
Если
YES
true
, в случае ошибки переполнения обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методуraiseOnUnderflow
Если
YES
true
, в случае ошибки потери значимости обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методуraiseOnDivideByZero
Если
YES
true
, в случае деления нулевой ошибкой обработчик повысит исключение, иначе это проигнорирует ошибку и возвратит управление вызывающему методуВозвращаемое значение
Инициализированный
NSDecimalNumberHandler
объект инициализируется со специализированным поведением. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
См. спецификацию протокола NSDecimalNumberBehaviors для полного объяснения возможных способов поведения.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.