请选择 进入手机版 | 继续访问电脑版
查看: 532|回复: 0

[IOS开发教程] iOS 粉丝数量格式化

3万

主题

3万

帖子

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
100197
发表于 2015-11-19 18:54:36
目的就是
123456 --》12.3w
2341 -- 》2,341

将方法放在.h文件
+(NSString *)countNumAndChangeformat:(NSString *)num;
再将代码放入.m文件就可以调用了。

注意:UIUtil是类名
  1. +(NSString *)countNumAndChangeformat:(NSString *)num
  2. {
  3. if (num.integerValue > 10000) {
  4. return [UIUtil ChangeFormatMoreThan10000:num];
  5. }
  6. else{
  7. return [UIUtil ChangeFormatLessThan10000:num];
  8. }
  9. }
  10. +(NSString *)ChangeFormatLessThan10000:(NSString *)num
  11. {
  12. if (num != nil) {
  13. return @"";
  14. }
  15. int count = 0;
  16. long long int a = num.longLongValue;
  17. while (a != 0)
  18. {
  19. count++;
  20. a /= 10;
  21. }
  22. NSMutableString *string = [NSMutableString stringWithString:num];
  23. NSMutableString *newstring = [NSMutableString string];
  24. while (count > 3) {
  25. count -= 3;
  26. NSRange rang = NSMakeRange(string.length - 3, 3);
  27. NSString *str = [string substringWithRange:rang];
  28. [newstring insertString:str atIndex:0];
  29. [newstring insertString:@"," atIndex:0];
  30. [string deleteCharactersInRange:rang];
  31. }
  32. [newstring insertString:string atIndex:0];
  33. return newstring;
  34. }
  35. +(NSString *)ChangeFormatMoreThan10000:(NSString *)num
  36. {
  37. if (num != nil) {
  38. return @"";
  39. }
  40. float a = 0.0;
  41. float b = 0.0;
  42. if (num.integerValue > 10000) {
  43. a = num.integerValue/10000.0;
  44. }
  45. if (num.integerValue - a*10000 > 1000) {
  46. b = (num.integerValue - a*10000.0)/1000.0;
  47. }
  48. if (a > 1000) {
  49. a = ((NSString *)[UIUtil countNumAndChangeformat:[NSString stringWithFormat:@"%lf",a]]).floatValue;
  50. }
  51. return [NSString stringWithFormat:@"%0.1lf",a+b];
  52. }
复制代码


回复

使用道具 举报