gpt4 book ai didi

ios - double iOS 的 NSArray( objective-c )

转载 作者:行者123 更新时间:2023-11-28 19:29:42 26 4
gpt4 key购买 nike

在我的数组中我有这些数据,每个值都是 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com