[英]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.