[英]How to represent money in Objective-C / iOS?
我正在开发一款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”类型吗?
使用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
使用NSDecimalNumber
类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.