I'm building a app that need manage money datatype.
I'm new on Obj-c, so I can't see the ligth in the use of NSDecimalNumber.
For example, in my unit test I do this:
@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]];
But get a warning:
warning: passing argument 1 of 'save:' from distinct Objective-C type
Overally, I dound this issue more complex than expected. I could hack using integers but I never do that in my 10+ years coding in Foxpro, Delphi, .NET, Python... never have issue for doing this kind of work.
Anyway, I wanna know how do this. I read the web but only found the same code as above and info like "Use NSDecimalNumber or get killed!".
I wanna know how:
- Assing simple values, like 12.5
- Simple math
- How store & load from sqlite.
Thank you.
(btw: exist a library or utility that solve this? this sound like a common headache, rigth?)