Structure

Decimal

A structure representing a base-10 number.

Declaration

struct Decimal

Topics

Creating an Empty Decimal

init()

Creates a decimal initialized to 0.

Creating a Decimal from Components

Creating a Decimal from a Floating Point Number

init(Double)

Creates and initializes a decimal with the provided floating point value.

init(floatLiteral: Double)

Creates and initializes a decimal with the provided floating point value.

Creating a Decimal from an Integer

init?<T>(exactly: T)

Creates a new decimal value exactly representing the provided integer.

init(Int)

Creates and initializes a decimal with the provided integer value.

init(Int8)

Creates and initializes a decimal with the provided integer value.

init(Int16)

Creates and initializes a decimal with the provided integer value.

init(Int32)

Creates and initializes a decimal with the provided integer value.

init(Int64)

Creates and initializes a decimal with the provided integer value.

init(integerLiteral: Int)

Creates and initializes a decimal with the provided integer value.

Creating a Decimal from an Unsigned Integer

init(UInt)

Creates and initializes a decimal with the provided unsigned integer value.

init(UInt8)

Creates and initializes a decimal with the provided unsigned integer value.

init(UInt16)

Creates and initializes a decimal with the provided unsigned integer value.

init(UInt32)

Creates and initializes a decimal with the provided unsigned integer value.

init(UInt64)

Creates and initializes a decimal with the provided unsigned integer value.

Creating a Decimal from Another Decimal

init(signOf: Decimal, magnitudeOf: Decimal)

Creates and initializes a decimal with the sign and magnitude of the given decimals.

Converting Between Decimals and Strings

func NSDecimalString(UnsafePointer<Decimal>, Any?) -> String

Returns a string representation of the decimal value appropriate for the specified locale.

Performing Arithmetic

static func * (Decimal, Decimal) -> Decimal

Multiplies two decimal numbers.

static func *= (inout Decimal, Decimal)

Multiplies two decimal numbers, storing the result in the first number.

static func += (inout Decimal, Decimal)

Adds two decimal numbers, storing the result in the first number.

static func - (Decimal, Decimal) -> Decimal

Subtracts one decimal number from another.

static func -= (inout Decimal, Decimal)

Subtracts one decimal number from another, storing the result in the first number.

static func / (Decimal, Decimal) -> Decimal

Divides one decimal number by another.

static func /= (inout Decimal, Decimal)

Divides one decimal number by another, storing the result in the first number.

func pow(Decimal, Int) -> Decimal

Returns a decimal number raised to a given power.

func negate()

Negates this decimal.

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.

Getting a Decimal's Characteristics

var sign: FloatingPointSign

The sign of the decimal.

var exponent: Int

The exponent of the decimal.

var significand: Decimal

The significand of the decimal.

var magnitude: Decimal

The magnitude of this decimal.

var isCanonical: Bool

A Boolean value indicating whether the representation of this decimal is canonical.

var isFinite: Bool

A Boolean value indicating whether this decimal is zero, subnormal, or normal (not infinity or NaN).

var isInfinite: Bool

A Boolean value indicating whether this decimal is infinity.

var isNaN: Bool

A Boolean value indicating whether this decimal is NaN.

var isNormal: Bool

A Boolean value indicating whether this decimal is normal (not zero, subnormal, infinity, or NaN).

var isSignMinus: Bool

A Boolean value indicating whether this decimal has a negative sign.

var isSignaling: Bool

A Boolean value indicating whether this decimal is a signaling NaN.

var isSignalingNaN: Bool

A Boolean value indicating whether this decimal is a signaling NaN.

var isSubnormal: Bool

A Boolean value indicating whether this decimal is subnormal.

var isZero: Bool

A Boolean value indicating whether this value is zero.

var nextDown: Decimal

The greatest representable value that is less than this decimal.

var nextUp: Decimal

The least representable value that is greater than this decimal.

var ulp: Decimal

The unit in the last place of the decimal.

Getting Particular Decimals

static let greatestFiniteMagnitude: Decimal

The decimal that contains the largest possible non-infinite magnitude for the underlying representation.

static let leastFiniteMagnitude: Decimal

The decimal that contains the smallest possible non-infinite magnitude for the underlying representation.

static let leastNonzeroMagnitude: Decimal

The decimal value that represents the smallest possible non-zero value for the underlying representation.

static let leastNormalMagnitude: Decimal

The decimal value that represents the smallest possible normal magnitude for the underlying representation.

static let pi: Decimal

The mathematical constant pi.

static var nan: Decimal

The value that represents "not a number."

static var quietNaN: Decimal

A quiet representation of not-a-number.

static var radix: Int

The radix used by decimal numbers.

var NSDecimalNoScale: Int32

Specifies that the number of digits allowed after the decimal separator in a decimal number should not be limited.

Comparing Decimals

static func < (Decimal, Decimal) -> Bool

Returns a Boolean value indicating whether one decimal number is strictly less than another.

static func == (Decimal, Decimal) -> Bool

Returns a Boolean value indicating whether two decimal numbers are equal.

func isEqual(to: Decimal) -> Bool

Indicates whether this decimal is equal to the specified one.

func isLess(than: Decimal) -> Bool

Indicates whether this decimal is less than the specified one.

func isLessThanOrEqualTo(Decimal) -> Bool

Indicates whether this decimal is less than or equal to the specified one.

func isTotallyOrdered(belowOrEqualTo: Decimal) -> Bool

Returns a Boolean value indicating whether this instance should precede the given value in an ascending sort.

func distance(to: Decimal) -> Decimal

Returns the distance from this value to the specified value.

func advanced(by: Decimal) -> Decimal

Returns a new value advanced by the given distance.

Encoding and Decoding

func encode(to: Encoder)

Encodes this decimal value into the given encoder.

init(from: Decoder)

Creates a new decimal value by decoding from the given decoder.

Describing a Decimal

var description: String

A textual description of the decimal.

var hashValue: Int

The computed hash value for the decimal.

Using Reference Types

class NSDecimalNumber

An object for representing and performing arithmetic on base-10 numbers that bridges to Decimal; use NSDecimalNumber when you need reference semantics or other Foundation-specific behavior.

See Also

Numbers

struct Int

A signed integer value type.

struct Double

A double-precision, floating-point value type.

class NumberFormatter

A formatter that converts between numeric values and their textual representations.