0
A
回答
1
基本上可以使用內部號碼的數據。 假設你在基於計值,那麼您可能想是這樣的:
NSNumber *sourceValue = ... // your NSNumber value from any source
int meters = sourceValue.intValue;
int km = floor(meters/1000); // only your kilometers
int sub_km = meters % 1000; // only the part behind the kilometers
int first_sub_km = floor(sum_km/100); // the first digit of the subrange
NSString *readable = [NSString stringWithFormat:@"%iK%i", km, first_sub_km];
首先,拆分米,進入< = 1000> 1000 那你只好把那出格式化,K之間。
2
int temp;
NSNumber *yourNumber;//the number you enter from some where
NSString *newValue;
if([yourNumber intValue]>1000){
temp = [yourNumber intValue] % 1000 ;//your number module 1000
newValue= [[temp stringValue]stringByAppendingString:@"K"];
}
注:我沒有我的Mac和我在一起,如果[temp stringValue]
提供任何worning &錯誤,請通知我
+0
這不是確切的答案,您應該添加其餘的您的號碼以相同的方式與字符串相關聯。 – 2012-02-10 14:05:17
0
自己寫的NSNumberFormatter的子類。在這個子類中你可以實現計算邏輯。
邏輯可能看起來像這樣。
- Devide由thousend值,並添加你的「K」
- ,如果你想有上百第一位獲得你的價值的thired最後一位數字
- 返回新的字符串
2
方法如下:
NSNumber *initialNumber = [NSNumber numberWithInt:35700];
NSString *resultString = [NSString stringWithFormat:@"%iK%i", floor(initialNumber/1000), floor((initialNumber % 1000)/100)];
相關問題
- 1. 如何比較NSNumber與十進制值?
- 2. 十六進制爲NSNumber
- 3. 如何使用NSNumber獲取法語設備的十進制值?
- 4. SUBSTRING()和十六進制值
- 5. 十進制值
- 6. 以十進制和浮點格式打印十六進制值
- 7. 的值轉換爲十六進制和十進制
- 8. 將十進制轉換爲十六進制和十六進制
- 9. 十六進制和十進制轉換
- 10. 從十進制值
- 11. 十六進制值
- 12. VBA十進制值
- 13. 雙十進制值
- 14. VB.net十進制值
- 15. 十進制值/ SQL
- 16. 從十六進制到十進制,二進制到十進制和八進制到十進制程序C++
- 17. 在VB6中將十六進制值轉換爲十進制值
- 18. 轉換十六進制值到十進制值
- 19. 使用十進制值以十六進制值
- 20. 十六進制爲二進制和十進制在matlab中
- 21. 轉換十六進制,十進制,八進制和ASCII?
- 22. C#System.OverflowException二進制到十進制和十六進制轉換
- 23. 將八進制數轉換爲十進制和十六進制
- 24. 的MySQL和PHP錯誤十進制值
- 25. LINQ to SQL十進制值的總和
- 26. C#XML序列化和十進制值
- 27. 確認十進制和整數的值
- 28. 轉換的NSNumber爲十六進制字符串16位
- 29. 準確地轉換的NSString NSNumber的十進制
- 30. 十六進制和十六進制十進制之間的區別
你在哪裏寫了你的例子中的任何「M」? – 2012-02-10 14:05:46
例如我有:1790M(米),我想將它轉換爲這樣的公里:1K7,另一個示例:34567M我想要:34K5謝謝 – samir 2012-02-10 14:09:18