NSDecimalNormalize(_:_:_:)
Normalizes the internal format of two decimal numbers to simplify later operations.
Declaration
func NSDecimalNormalize(_ number1: UnsafeMutablePointer<Decimal>, _ number2: UnsafeMutablePointer<Decimal>, _ roundingMode: NSDecimalNumber.RoundingMode) -> NSDecimalNumber.CalculationErrorDiscussion
Decimal instances are represented in memory as a mantissa and an exponent, expressing the value mantissa x 10^exponent. A number can have many representations; for example, the following table lists several valid representations for the number 100:
Mantissa | Exponent |
|---|---|
100 | 0 |
10 | 1 |
1 | 2 |
Format number1 and number2 so that they have equal exponents. This format makes addition and subtraction very convenient. Both NSDecimalAdd(_:_:_:_:) and NSDecimalSubtract(_:_:_:_:) call NSDecimalNormalize(_:_:_:). You may want to use it if you write more complicated addition or subtraction routines.
For explanations of the possible return values, see NSDecimalAdd(_:_:_:_:).
For more information, see Number and Value Programming Topics.
See Also
Performing arithmetic using references
NSDecimalCompact(_:)NSDecimalAdd(_:_:_:_:)NSDecimalSubtract(_:_:_:_:)NSDecimalDivide(_:_:_:_:)NSDecimalMultiply(_:_:_:_:)NSDecimalMultiplyByPowerOf10(_:_:_:_:)NSDecimalRound(_:_:_:_:)NSDecimalPower(_:_:_:_:)Decimal.RoundingModeNSDecimalNumber.RoundingModeDecimal.CalculationErrorNSDecimalNumber.CalculationError