Ako napríklad otočím pole [Int]
do reťazca, ktorý udržiava čiarky medzi prvkami? Ak mám pole ako [1,2,3,4]
, Chcem dostávať reťazec ako "1, 2, 3, 4"
.
odpovede:
3 pre odpoveď č. 1Môžete robiť:
let string = array.map { String($0) }
.joined(separator: ", ")
Na map
Hovor prevádza pole čísel na pole reťazcov a joined
kombinuje ich do jedného reťazca s akýmkoľvek oddeľovačom, ktorý chcete medzi jednotlivými reťazcami.
Alebo, ak sa to má uviesť v používateľskom rozhraní, čísla môžu vyžadovať oddeľovače desatinných miest alebo tisíce, potom je lepšie ukázať výsledky v lokalizovanom formáte pomocou NumberFormatter
:
let array = [1.0, 1.1, 1.2, 1.3]
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.maximumFractionDigits = 2
formatter.minimumFractionDigits = 2
let string = array.compactMap { formatter.string(for: $0) }
.joined(separator: ", ")
To by pre používateľov v USA viedlo k:
1.00, 1.10, 1.20, 1.30
Pre nemeckých používateľov by to malo za následok:
1,00, 1,10, 1,20, 1,30
2 pre odpoveď č. 2
Stačí zmapovať celé čísla do reťazcov a spojiť ich s oddeľovačom ", "
let array = [1,2,3,4]
let string = array.map(String.init).joined(separator: ", ") // "1, 2, 3, 4"