我正在开发一个需要管理资金数据类型的应用程序。
我对Obj-c还很新,所以我看不出使用NSDecimalNumber的好处。
例如,在我的单元测试中,我这样做:
@interface SamplePerson : NSObject {
NSString *name;
NSDate *birthDate;
NSInteger size;
NSNumber *phone;
NSDecimal balance;
BOOL *isOk;
}
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSDate *birthDate;
@property (nonatomic) NSInteger size;
@property (nonatomic, retain) NSNumber *phone;
@property (nonatomic) NSDecimal balance;
@property (nonatomic) BOOL *isOk;
--
o.balance = [NSDecimalNumber decimalNumberWithDecimal: [[NSNumber numberWithLong: 12.5] decimalValue]];
但请警告:
警告:传递参数1的类型与Objective-C类型不同,无法保存。
总体而言,我发现这个问题比预期的更复杂。我可以使用整数进行黑客攻击,但在我10多年的在Foxpro、Delphi、.NET、Python中编程的过程中,我从未遇到过这种工作的问题。
无论如何,我想知道如何做到这一点。我读了网络,但只发现了以上相同的代码和信息,如“使用NSDecimalNumber或会被杀死!”。
我想知道如何:
- Assing simple values, like 12.5
- Simple math
- How store & load from sqlite.
谢谢。
顺便问一下:是否有一个库或工具可以解决这个问题?听起来这是一个普遍的烦恼,对吧?