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 的字符串会返回isNaN
为true
的值。声明
Swift
public override required init(string: String) throws
参数
string
要解析的字符串。
-
通过从给定解码器进行解码来创建新的 Decimal128。
如果解码器无效或未解码为可转换为 Decimal128 的值,则此初始化程序会引发错误。
声明
Swift
public required init(from decoder: Decoder) throws
参数
decoder
从中读取数据的解码器。
-
Decimal 128的最小值
声明
Swift
public static var min: Decimal128 { get }
-
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 }