Decimal128

@objc(RealmSwiftDecimal128)
public final class Decimal128 : RLMDecimal128, Decodable
extension Decimal128: BSON
extension Decimal128: Encodable
extension Decimal128: ExpressibleByIntegerLiteral
extension Decimal128: ExpressibleByFloatLiteral
extension Decimal128: ExpressibleByStringLiteral
extension Decimal128: Comparable
extension Decimal128: RealmCollectionValue
extension Decimal128: MinMaxType
extension Decimal128: AddableType

128 位 IEEE 754-2008 十进制浮点数。

此类型类似于 Swift 的内置 Decimal 类型,但分配位的方式不同,从而导致可表示的范围不同。 (NS)Decimal 存储最多 38 位的有效数字和从 -128 到 127 的指数,而此类型可存储最多 34 位的有效数字和从 -6143 到 6144 的指数。

  • 创建一个新的零初始化 Decimal128。

    声明

    Swift

    public override required init()
  • 将给定值转换为 Decimal128。

    以下类型可以转换为 Decimal128:

    • Int(任意大小)
    • Float
    • double
    • 字符串
    • NSNumber
    • Decimal 数据类型

    传递不在此列表中的类型的值是致命错误。 传递无法解析为有效 Decimal128 的字符串是致命错误。

    声明

    Swift

    public override required init(value: Any)

    参数

    value

    要转换为 Decimal128 的值。

  • 将给定数字转换为 Decimal128。

    此初始化程序不会失败,并且永远不会有损。

    声明

    Swift

    public override required init(number: NSNumber)

    参数

    number

    要转换为 Decimal128 的数字。

  • 将给定字符串解析为 Decimal128。

    此初始化器从不抛出异常,并被标记为throws ,只是因为删除它是一项破坏性变更 (breaking change)。无法解析为 Decimal128 的字符串会返回isNaNtrue的值。

    声明

    Swift

    public override required init(string: String) throws

    参数

    string

    要解析的字符串。

  • 通过从给定解码器进行解码来创建新的 Decimal128。

    如果解码器无效或未解码为可转换为 Decimal128 的值,则此初始化程序会引发错误。

    声明

    Swift

    public required init(from decoder: Decoder) throws

    参数

    decoder

    从中读取数据的解码器。

  • min

    Decimal 128的最小值

    声明

    Swift

    public static var min: Decimal128 { get }
  • max

    Decimal128 的最大值

    声明

    Swift

    public static var max: Decimal128 { get }
  • 将此 Decimal128 编码为给定的编码器。

    如果给定编码器无法对字符串进行编码,则该函数会引发错误。

    声明

    Swift

    public func encode(to encoder: Encoder) throws

    参数

    encoder

    要写入数据的编码器。

  • 从给定的整数字面量创建一个新的 Decimal128。

    声明

    Swift

    public convenience init(integerLiteral value: Int64)
  • 从给定的浮点字面量创建一个新的 Decimal128。

    声明

    Swift

    public convenience init(floatLiteral value: Double)
  • 从给定的字符串字面量创建一个新的 Decimal128。

    如果无法将字符串解析为 Decimal128,则中止。

    声明

    Swift

    public convenience init(stringLiteral value: String)
  • 返回一个布尔值,指示两个十进制 128 值是否相等。

    声明

    Swift

    public static func == (lhs: Decimal128, rhs: Decimal128) -> Bool

    参数

    lhs

    要比较的 Decimal128 值。

    rhs

    另一个要比较的 Decimal128 值。

  • _:)

    返回一个布尔值,指示第一个参数的十进制 128 值是否小于第二个参数的十进制 128 值。

    声明

    Swift

    public static func < (lhs: Decimal128, rhs: Decimal128) -> Bool

    参数

    lhs

    要比较的 Decimal128 值。

    rhs

    另一个要比较的 Decimal128 值。

  • _:)

    返回一个布尔值,指示第一个参数的十进制 128 值是否小于或等于第二个参数的十进制值。

    声明

    Swift

    public static func <= (lhs: Decimal128, rhs: Decimal128) -> Bool

    参数

    lhs

    要比较的 Decimal128 值。

    rhs

    另一个要比较的 Decimal128 值。

  • 返回一个布尔值,指示第一个参数的十进制 128 值是否大于或等于第二个参数的十进制值。

    声明

    Swift

    public static func >= (lhs: Decimal128, rhs: Decimal128) -> Bool

    参数

    lhs

    要比较的 Decimal128 值。

    rhs

    另一个要比较的 Decimal128 值。

  • 返回一个布尔值,指示第一个参数的十进制 128 值是否大于第二个参数的十进制 128 值。

    声明

    Swift

    public static func > (lhs: Decimal128, rhs: Decimal128) -> Bool

    参数

    lhs

    要比较的 Decimal128 值。

    rhs

    另一个要比较的 Decimal128 值。

  • 如果可以精确表示,则根据给定整数创建一个新实例。

    如果作为source传递的值不能精确表示,则结果为nil 。 在以下示例中,已成功从值 创建常量 ,但尝试从x 100初始化常量y 1_000失败,因为Int8 类型最多可以表示127

    声明

    Swift

    public convenience init?<T>(exactly source: T) where T : BinaryInteger

    参数

    source

    要转换为此类整数的值。

  • 可以表示 Decimal128 的绝对值的类型

    声明

    Swift

    public typealias Magnitude = Decimal128
  • 此 Decimal128 的大小。

    声明

    Swift

    public var magnitude: Magnitude { get }
  • 将两个十进制 128 值相加并得出总和。

    声明

    Swift

    public static func + (lhs: Decimal128, rhs: Decimal128) -> Decimal128

    参数

    lhs

    要添加的第一个 Decimal128 值。

    rhs

    要添加的第二个 Decimal128 值。

  • 从另一个 Decimal128 值中减去一个 Decimal128 值,得出它们的差值。

    声明

    Swift

    public static func - (lhs: Decimal128, rhs: Decimal128) -> Decimal128

    参数

    lhs

    一个 Decimal128 值。

    rhs

    要从lhs中减去的 Decimal128 值。

  • 将两个 Decimal128 值相乘并生成它们的乘积。

    声明

    Swift

    public static func * (lhs: Decimal128, rhs: Decimal128) -> Decimal128

    参数

    lhs

    要相乘的第一个值。

    rhs

    要相乘的第二个值。

  • 返回第一个 Decimal128 值除以第二个值的商。

    声明

    Swift

    public static func / (lhs: Decimal128, rhs: Decimal128) -> Decimal128

    参数

    lhs

    要除的 Decimal128 值。

    rhs

    要除以lhs的 Decimal128 值。 rhs不得为零。

  • 表示两个值之间距离的类型。

    声明

    Swift

    public typealias Stride = Decimal128
  • 返回从此 Decimal128 到给定值的距离,以步长表示。

    声明

    Swift

    public func distance(to other: Decimal128) -> Stride

    参数

    other

    要计算距离的目标 Decimal128 值。

    返回值

    从该值到other的距离。

  • 返回与该值偏移指定距离的 Decimal128。

    在通用代码中使用advanced(by:)方法将值偏移指定的距离。 如果直接使用数值,请使用加法操作符 ( + ) 而不是此方法。

    声明

    Swift

    public func advanced(by n: Decimal128) -> Decimal128

    参数

    n

    此 Decimal128 前进的距离。

    返回值

    一个 Decimal128,与该值偏移n

  • true 如果self为信号 NaN,则为false

    声明

    Swift

    public var isSignaling: Bool { get }
  • true 如果self为信号 NaN,则为false

    声明

    Swift

    public var isSignalingNaN: Bool { get }