ios - 减少 Number Formatter Objective-C 中的位数

标签 ios objective-c nsstring format nsnumber

我使用了一个函数让 123456 这样的数字看起来像 123.456k。但是我希望函数只有前两位小数。所以 123456 想要 123.46k。函数如下所示:

- (NSString*)numberWithShortcut:(NSNumber*)number
{
    unsigned long long value = [number longLongValue];

    NSUInteger index = 0;
    double dvalue = (double)value;

    NSArray *suffix = @[ @"", @"K", @"M", @"B", @"T", @"P", @"E" ];

    while ((value /= 1000) && ++index) dvalue /= 1000;

    NSString *svalue = [NSString stringWithFormat:@"%@%@",[NSNumber numberWithDouble:dvalue], [suffix objectAtIndex:index]];

    NSLog(svalue);

    return svalue;
}

最佳答案

使用数字格式化程序

NSNumberFormatter *formatter;
[formatter setMaximumFractionDigits:2];

以上只是您可以使用它执行的操作的一个示例。查看 Apple 的文档了解更多信息:

https://developer.apple.com/LIBRARY/ios/documentation/Cocoa/Reference/Foundation/Classes/NSNumberFormatter_Class/index.html

关于ios - 减少 Number Formatter Objective-C 中的位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26694123/

相关文章:

iphone - 测试 Facebook 原生 iOS 应用

ios - IOS 上的 Google Map SDK Apple Mach-O 链接器错误

ios - 将没有数字的 NSString 转换为 float

javascript - 使用 PanResponder 的 React-Native 捏合缩放

iphone - iOS iPhone如何处理 "User can use app from multiple devices"这样的要求?

ios - Swift:访问存在的属性时为 "unrecognized selector"

ios - Objective-C 何时调用 cellForRowAtIndexPath?

objective-c - 雅虎天气API解析

ios - 内存泄漏 - NSString 和 NSURL

ios - 将数组的 ValueForKey 与 NSString 进行比较