I'm working on an iPhone app and want to represent money ($) amounts. I can't use float because they introduce certain amount of rounding errors. What can I use?
I'm thinking of defining my own Money class and store dollars and pennies as NSInteger internally.
@interface Money : NSObject {
//$10.25 is stored as dollas=10 and pennies=25
NSInteger dollars;
NSInteger pennies;
}
Another possible representation (easier for adding and multiplying) would be to use a single NSInteger as pennies.
@interface Money : NSObject {
//$10.25 is stored as pennies=1025
NSInteger pennies;
}
What are your thoughts? Is there a "BigDecimal" type I can use?