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() -> NSDecimalNumberHandlerObjective 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)roundingModescale:(short)scaleraiseOnExactness:(BOOL)raiseOnExactnessraiseOnOverflow:(BOOL)raiseOnOverflowraiseOnUnderflow:(BOOL)raiseOnUnderflowraiseOnDivideByZero:(BOOL)raiseOnDivideByZeroПараметры
roundingModeОкругляющийся режим для использования. Существует четыре возможных значения:
NSRoundUp,NSRoundDown,NSRoundPlain, иNSRoundBankers.scaleЧисло цифр округленное значение должно иметь после его десятичной точки.
raiseOnExactnessЕсли
YEStrue, в случае ошибки точности обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методу.raiseOnOverflowЕсли
YEStrue, в случае ошибки переполнения обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методуraiseOnUnderflowЕсли
YEStrue, в случае ошибки потери значимости обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методуraiseOnDivideByZeroЕсли
YEStrue, в случае деления нулевой ошибкой обработчик повысит исключение, иначе это проигнорирует ошибку и возвратит управление вызывающему методуВозвращаемое значение
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(roundingModeroundingMode: NSRoundingMode, scalescale: Int16, raiseOnExactnessraiseOnExactness: Bool, raiseOnOverflowraiseOnOverflow: Bool, raiseOnUnderflowraiseOnUnderflow: Bool, raiseOnDivideByZeroraiseOnDivideByZero: Bool)Objective C
- (instancetype)initWithRoundingMode:(NSRoundingMode)roundingModescale:(short)scaleraiseOnExactness:(BOOL)raiseOnExactnessraiseOnOverflow:(BOOL)raiseOnOverflowraiseOnUnderflow:(BOOL)raiseOnUnderflowraiseOnDivideByZero:(BOOL)raiseOnDivideByZeroПараметры
roundingModeОкругляющийся режим для использования. Существует четыре возможных значения:
NSRoundUp,NSRoundDown,NSRoundPlain, иNSRoundBankers.scaleЧисло цифр округленное значение должно иметь после его десятичной точки.
raiseOnExactnessЕсли
YEStrue, в случае ошибки точности обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методу.raiseOnOverflowЕсли
YEStrue, в случае ошибки переполнения обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методуraiseOnUnderflowЕсли
YEStrue, в случае ошибки потери значимости обработчик повысит исключение, иначе он проигнорирует ошибку и возвратит управление вызывающему методуraiseOnDivideByZeroЕсли
YEStrue, в случае деления нулевой ошибкой обработчик повысит исключение, иначе это проигнорирует ошибку и возвратит управление вызывающему методуВозвращаемое значение
Инициализированный
NSDecimalNumberHandlerобъект инициализируется со специализированным поведением. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
См. спецификацию протокола NSDecimalNumberBehaviors для полного объяснения возможных способов поведения.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
