2013-02-24 34 views
-1

什麼對象類型用於存儲金額?我有一個UITextField用戶可以輸入美元數額,我將轉換爲另一種貨幣,我想知道在哪種類型存儲金額(float/double是不好的錢),以及要選擇什麼爲那個領域的鍵盤?持有金額對象

回答

1

我會建議使用NSDecimalNumber。此外,你將要使用類似的方法:

- (NSDecimalNumber *)decimalNumberByAdding:(NSDecimalNumber *)decimalNumber withBehavior:(id <NSDecimalNumberBehaviors>)behavior 

在更基本的

- (NSDecimalNumber *)decimalNumberByAdding:(NSDecimalNumber *)decimalNumber 

由於可以提供行爲之一是:

NSRoundBankers

回合到儘可能最接近的回報價值;當 在兩種可能性的中間時,返回最後的 數字是偶數的可能性。實際上,這意味着,從長遠來看, 號碼將按照向下舍入的次數四捨五入;有 將沒有系統的偏見。

當然也可以使用NSDecimal,但我更喜歡NSDecimalNumber的OO API,而不是NSDecimal的基於C的API。

4

您可以使用NSDecimal或NSDecimalNumber它們是精確的,存儲爲基數爲10的數字,不像float或double。

1

你應該做以下事情

  1. 套裝鍵盤類型小數
  2. 設置在鍵盤附件視圖(不是強制性的)
  3. 的文本框應用,一旦用戶使用了正則表達式的浮動 點(。)他將不被允許重新輸入。
  4. 在文本框編輯完成,你可以將它保存爲NSDecimal