如何在Objective-C / iOS中代表钱?

时间:2009-05-06 16:08:27

标签: ios objective-c currency

我正在开发一款iPhone应用程序,想要代表金钱($)金额。我不能使用float因为它们会引入一定量的舍入错误。 我可以使用什么?

我正在考虑定义自己的Money类,并在内部将美元和便士存储为NSInteger。

@interface Money : NSObject {
    //$10.25 is stored as dollas=10 and pennies=25
    NSInteger dollars;
    NSInteger pennies;
}

另一种可能的表示(更容易添加和乘法)是使用单个NSInteger作为便士。

@interface Money : NSObject {
    //$10.25 is stored as pennies=1025
    NSInteger pennies;
}

你有什么想法?我可以使用“BigDecimal”类型吗?

2 个答案:

答案 0 :(得分:27)

答案 1 :(得分:8)

使用NSDecimalNumber类。