我需要檢查NSNumber的總數字計數。最簡單的方法是將其轉換爲NSString,然後檢查其長度。另一種方法是採取整數值,執行循環除以10.只是想知道是否有其他選項:)如何獲取NSNumber值的長度?
回答
log10()
函數會讓你關閉。喜歡的東西:
ceil (log10 (x))
例如:
> ceil (log10 (200))
3
> ceil (log10 (9999))
4
也許在fabs
添加爲:
ceil (log10 (fabs (x)))
小數的數字,上面是行不通的。但是,你可以嘗試分解爲整數+分數並獨立處理兩個分數。
謝謝。從數字轉換爲字符串和檢查長度來看,這種解決方案是否更好?可能是性能,乾淨的代碼等等。因爲log10 + ceil看起來像這樣簡單操作的計算開銷(特別是對於正數)。所以,我想我會後退到使用convertToString + strLengh解決方案。 – Centurion
轉換爲字符串並檢查長度肯定更具可讀性。 – Lance
我剛剛提供了另一個選項。對我而言,我使用的將取決於應用程序。但是,有一點可以肯定,對於這樣的低級計算來說,效率/性能決不會涉及到。就可讀性而言,應該將上面的基於「log」的解決方案包裝在另一個函數中,比如說'fdigit_count(x)'。 – GoZoner
- 1. GAIDictionaryBuilder無法獲取NSNumber值
- 2. 獲取長度
- 3. 如何獲取數組的長度?
- 4. 如何獲取對象的長度?
- 5. 如何獲取變量bash的長度?
- 6. 如何獲取IStream的長度? C++
- 7. 獲取哈希的長度,不空值
- 8. JQuery獲取值或check_box_tag的長度
- 9. Excel根據源的長度獲取值
- 10. 獲取HashMap中值的大小/長度
- 11. 獲取幾何長度
- 12. 如何使用NSNumber獲取法語設備的十進制值?
- 13. 如何獲取數組的最大長度值?
- 14. 如何獲取ng-message中ng-maxlength的長度值
- 15. 更新UILabel,從NSNumber獲取價值
- 16. 獲取列值的長度,而不是列的最大長度值
- 17. 獲取QGraphicsTextItem長度?
- 18. 如何獲取字符串長度
- 19. 如何獲取iLBC語音長度?
- 20. 獲取鏈表的長度
- 21. 獲取字典的長度
- 22. 獲取視頻的長度
- 23. 獲取IEnumerable的長度?
- 24. 獲取NSStatusItem的長度
- 25. 獲取HSSFWorkbook的長度
- 26. C#反射:如何獲取數組值和長度?
- 27. 無法獲得NSNumber的無符號長整型值
- 28. 精度的NSNumber
- 29. 獲取JSON的長度,角度
- 30. 如何從基於charachter長度值的sql表中獲取唯一值
轉換成字符串,然後獲得長度可能會讓你陷入麻煩,如果有一個小數或'-'符號。 – GeneralMike
是的,但我只檢查正數(信用卡號碼),所以應該沒問題。 – Centurion