RLMDecimal128
Objective-C
@interface RLMDecimal128 : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMDecimal128 : NSObject, NSCopying, @unchecked Sendable
A 128-bit IEEE 754-2008 decimal floating point number.
This type is similar to Swift’s built-in Decimal type, but allocates bits differently, resulting in a different representable range. (NS)Decimal stores a significand of up to 38 digits long and an exponent from -128 to 127, while this type stores up to 34 digits of significand and an exponent from -6143 to 6144.
-
Creates a new zero-initialized decimal128.
Declaration
Objective-C
- (nonnull instancetype)init;
Swift
init()
-
Converts the given value to a RLMDecimal128.
The following types can be converted to RLMDecimal128:
- NSNumber
- NSString
- NSDecimalNumber
Passing a value with a type not in this list is a fatal error. Passing a string which cannot be parsed as a valid Decimal128 is a fatal error.
Declaration
Objective-C
- (nonnull instancetype)initWithValue:(nonnull id)value;
Swift
init(value: Any)
-
Converts the given number to a RLMDecimal128.
Declaration
Objective-C
- (nonnull instancetype)initWithNumber:(nonnull NSNumber *)number;
Swift
init(number: NSNumber)
-
Parses the given string to a RLMDecimal128.
Returns a decimal where
isNaN
isYES
if the string cannot be parsed as a decimal.error
is never set and this will never actually returnnil
.Declaration
Objective-C
- (nullable instancetype)initWithString:(nonnull NSString *)string error:(NSError *_Nullable *_Nullable)error;
Swift
init(string: String) throws
-
Converts the given number to a RLMDecimal128.
Declaration
Objective-C
+ (nonnull instancetype)decimalWithNumber:(nonnull NSNumber *)number;
-
The minimum value for RLMDecimal128.
Declaration
Objective-C
@property (class, copy, readonly) NS_REFINED_FOR_SWIFT RLMDecimal128 *minimumDecimalNumber;
-
The maximum value for RLMDecimal128.
Declaration
Objective-C
@property (class, copy, readonly) NS_REFINED_FOR_SWIFT RLMDecimal128 *maximumDecimalNumber;
-
Convert this value to a double. This is a lossy conversion.
Declaration
Objective-C
@property (nonatomic, readonly) double doubleValue;
Swift
var doubleValue: Double { get }
-
Convert this value to a NSDecimal. This may be a lossy conversion.
Declaration
Objective-C
@property (nonatomic, readonly) NSDecimal decimalValue;
Swift
var decimalValue: Decimal { get }
-
Convert this value to a string.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nonnull stringValue;
Swift
var stringValue: String { get }
-
Gets if this Decimal128 represents a NaN value.
Declaration
Objective-C
@property (nonatomic, readonly) BOOL isNaN;
Swift
var isNaN: Bool { get }
-
The magnitude of this RLMDecimal128.
Declaration
Objective-C
@property (nonatomic, readonly) NS_REFINED_FOR_SWIFT RLMDecimal128 *magnitude;
-
Replaces this RLMDecimal128 value with its additive inverse.
Declaration
Objective-C
- (void)negate;
Swift
func negate()
-
Adds the right hand side to the current value and returns the result.
Declaration
Objective-C
- (nonnull RLMDecimal128 *)decimalNumberByAdding: (nonnull RLMDecimal128 *)decimalNumber;
Swift
func decimalNumber(byAdding decimalNumber: RLMDecimal128) -> RLMDecimal128
-
Divides the right hand side to the current value and returns the result.
Declaration
Objective-C
- (nonnull RLMDecimal128 *)decimalNumberByDividingBy: (nonnull RLMDecimal128 *)decimalNumber;
Swift
func decimalNumberByDividing(by decimalNumber: RLMDecimal128) -> RLMDecimal128
-
Subtracts the right hand side to the current value and returns the result.
Declaration
Objective-C
- (nonnull RLMDecimal128 *)decimalNumberBySubtracting: (nonnull RLMDecimal128 *)decimalNumber;
Swift
func decimalNumber(bySubtracting decimalNumber: RLMDecimal128) -> RLMDecimal128
-
Multiply the right hand side to the current value and returns the result.
Declaration
Objective-C
- (nonnull RLMDecimal128 *)decimalNumberByMultiplyingBy: (nonnull RLMDecimal128 *)decimalNumber;
Swift
func decimalNumberByMultiplying(by decimalNumber: RLMDecimal128) -> RLMDecimal128
-
Comparision operator to check if the right hand side is greater than the current value.
Declaration
Objective-C
- (BOOL)isGreaterThan:(nullable RLMDecimal128 *)decimalNumber;
Swift
func isGreaterThan(_ decimalNumber: RLMDecimal128?) -> Bool
-
Comparision operator to check if the right hand side is greater than or equal to the current value.
Declaration
Objective-C
- (BOOL)isGreaterThanOrEqualTo:(nullable RLMDecimal128 *)decimalNumber;
Swift
func isGreaterThanOrEqual(to decimalNumber: RLMDecimal128?) -> Bool
-
Comparision operator to check if the right hand side is less than the current value.
Declaration
Objective-C
- (BOOL)isLessThan:(nullable RLMDecimal128 *)decimalNumber;
Swift
func isLessThan(_ decimalNumber: RLMDecimal128?) -> Bool
-
Comparision operator to check if the right hand side is less than or equal to the current value.
Declaration
Objective-C
- (BOOL)isLessThanOrEqualTo:(nullable RLMDecimal128 *)decimalNumber;
Swift
func isLessThanOrEqual(to decimalNumber: RLMDecimal128?) -> Bool