ios - double iOS 的 NSArray( objective-c )

标签 ios objective-c nsarray

在我的数组中我有这些数据,每个值都是 double 类型:

(
    "28.04234",
    "29.3234",
    "25.03324",
    "9.390000000000001",
)

我需要将所有元素更改为仅带 2 位小数的 NSString 我该如何使用优化代码的最佳方法来做到这一点。

例如:

myArray[0] = "28.04"
myArray[1] = "29.32"

....

最佳答案

在 swift 中,您可以使用 map 语句来完成此操作。在 Objective-C 中,你必须有一个 NSNumbers 的 NSArray。在 Objective-C 中不可能有像 double 这样的值类型的 NSArray。 (可能 - 正常,甚至 - 有一个 C 数组的浮点值,但我不认为那是你在说什么。)

尝试这样的代码:

NSArray <NSString *>*mapArrayOfNumbers(NSArray <NSNumber *> *sourceArray) {
    NSMutableArray *result = [NSMutableArray arrayWithCapacity: sourceArray.count];
    for (NSNumber *aNumber in sourceArray) {
        [result addObject:[NSString stringWithFormat: @"%.02f", aNumber.doubleValue]];
    }
    return result;
}

你可以这样调用它:

NSArray <NSNumber *> *numbers = @[@(1.1), @(2.2), @(3.4567), @(8.901234), @(9.876543)];
NSArray <NSString *> *strings = mapArrayOfNumbers(numbers);
for (NSString *aString in strings) {
    NSLog(@"Entry = %@", aString);
}

关于ios - double iOS 的 NSArray( objective-c ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46834068/

相关文章:

ios - 旋转和动画 ImageView 没有任何失真?

ios - 找不到框架,链接器命令失败,退出代码为 1(使用 -v 查看调用)

iphone - objective-c -获取空值

ios - presentViewController 不存在

ios - 如何在其 ViewController 的 viewDidAppear 之前确定 UIView 大小

ios - 这是 UITableViewCellAccessoryDe​​tailDisclosureButton 的正常行为吗

ios - 动画在开始前延迟

ios - 根据字典键过滤 NSDictionary 的 NSArray

iphone - iOS:从另一个 View 将新单元格添加到表格 View

ios - 从 givven 索引开始枚举 NSArray 双向搜索(无回绕)