gpt4 book ai didi

ios - NSDecimal 等于 NSDecimalNumber 值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:35 25 4
gpt4 key购买 nike

我正在寻找一种有效的方法来将 NSDecimalNumberNSData 缓冲区中的其他数据一起保存。

我还没有找到直接从 NSDecimalNumber 执行此操作的方法。但是,很容易将其转换为:

NSDecimal value = [theDecimalNumber decimalValue];

并且在内存中传输NSDecimal并不难(20字节)。

但是,我的问题是:NSDecimalNumberNSDecimal 值是否完全相同?

因为他们的声明有一些差异(ExternalRefCount ?):

@interface NSDecimalNumber : NSNumber {
@private
signed int _exponent:8;
unsigned int _length:4;
unsigned int _isNegative:1;
unsigned int _isCompact:1;
unsigned int _reserved:1;
unsigned int _hasExternalRefCount:1;
unsigned int _refs:16;
unsigned short _mantissa[0]; /* GCC */
}

typedef struct {
signed int _exponent:8;
unsigned int _length:4; // length == 0 && isNegative -> NaN
unsigned int _isNegative:1;
unsigned int _isCompact:1;
unsigned int _reserved:18;
unsigned short _mantissa[NSDecimalMaxSize];
} NSDecimal;

是否可以在两种类型之间执行多次传输而不损失任何精度?

最佳答案

您是否尝试过使用 NSArchiver 类方法?

NSData *data=[NSArchiver archivedDataWithRootObject:yourNumber];

关于ios - NSDecimal 等于 NSDecimalNumber 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27169131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com