我正在开发一款iPhone应用程序并且希望代表金额($)金额.我不能使用float因为它们会引入一定量的舍入错误.我可以用什么?
我正在考虑定义我自己的Money类,并在内部存储美元和便士作为NSInteger.
@interface Money : NSObject {
//$10.25 is stored as dollas=10 and pennies=25
NSInteger dollars;
NSInteger pennies;
}
Run Code Online (Sandbox Code Playgroud)
另一种可能的表示(更容易添加和乘法)将使用单个NSInteger作为便士.
@interface Money : NSObject {
//$10.25 is stored as pennies=1025
NSInteger pennies;
}
Run Code Online (Sandbox Code Playgroud)
你的想法是什么?我可以使用"BigDecimal"类型吗?
小智 27
使用NSDecimalNumber.当然它有开销,但除非你能证明这是一个问题,否则你会喜欢它给你的准确性.
http://www.cimgf.com/2008/04/23/cocoa-tutorial-dont-be-lazy-with-nsdecimalnumber-like-me/ http://developer.apple.com/documentation/Cocoa/Reference/基金会/班/ NSDecimalNumber_Class /参考/的reference.html
| 归档时间: |
|
| 查看次数: |
6961 次 |
| 最近记录: |