Function

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.CalculationError

Discussion

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

func NSDecimalCompact(UnsafeMutablePointer<Decimal>)

Compacts the decimal structure for efficiency.

typealias Decimal.RoundingMode

An alias for an enumeration that specifies possible rounding modes.

enum NSDecimalNumber.RoundingMode

These constants specify rounding behaviors.

typealias Decimal.CalculationError

An alias for a type that specifies possible calculation errors.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software