0Pricing
Swift Academy · Lektion

Locale-abhängige Formatierung

Formatieren Sie Zahlen, Datumswerte und Währungen passend zur Locale.

Locale-abhängige Formatierung ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Zahlen sind nicht universell

Die Zahl eine Million zweihunderttausend wird in den USA als 1,200,000.50, in Deutschland als 1.200.000,50 und in Indien als 12,00,000.50 dargestellt. Fest codierte Trennzeichen oder Formate funktionieren für den Großteil der Welt nicht. Swifts FormatStyle-API erledigt dies für jedes Locale korrekt.

import Foundation
let value = 1_200_000.5
print(value.formatted()) // uses current locale

Der Einstiegspunkt formatted()

Die meisten Standardtypen — Zahlen, Datumsangaben, Maßeinheiten und Listen — verfügen über eine formatted()-Methode. Ohne Argumente verwendet sie sinnvolle, localeabhängige Standardwerte; übergeben Sie einen Style, um die Darstellung anzupassen.

import Foundation
let n = 1234.567
print(n.formatted())                      // default
print(n.formatted(.number.precision(.fractionLength(2))))

Zahlenformate

.number ist der vielseitige Standard. Sie können Gruppierung, Länge des Nachkommateils, Rundung und die Anzeige des Vorzeichens aufeinander aufbauend konfigurieren. Das Locale steuert weiterhin die tatsächlich verwendeten Trennzeichen.

import Foundation
let x = 1234.5
print(x.formatted(
    .number
    .grouping(.automatic)
    .precision(.fractionLength(0...2))))

Währungsformatierung

Für Geldbeträge platziert .currency(code:) Währungssymbol, Gruppierung und Dezimalstellen passend zum Locale. Derselbe Betrag wird je nach Region des Benutzers als $1,200.00 oder 1.200,00 €€ dargestellt — erstellen Sie Währungsstrings niemals von Hand.

import Foundation
let price = 1200.0
print(price.formatted(.currency(code: "USD")))
print(price.formatted(.currency(code: "EUR")))
print(price.formatted(.currency(code: "JPY")))

Prozentformatierung

.percent multipliziert mit 100 und hängt das Prozentzeichen des Locales an. Dabei werden auch die Abstandsregeln berücksichtigt, die manche Sprachen zwischen Zahl und Symbol verlangen.

import Foundation
let ratio = 0.875
print(ratio.formatted(.percent))
print(ratio.formatted(.percent.precision(.fractionLength(1))))

Das Locale überschreiben

Standardmäßig verwendet die Formatierung Locale.current. Um ein bestimmtes Locale zu erzwingen — etwa zum Testen oder um einen Wert in einer festen Region anzuzeigen — hängen Sie .locale(_:) an einen beliebigen Style an.

import Foundation
let value = 1234567.89
let german = Locale(identifier: "de_DE")
print(value.formatted(.number.locale(german)))
// 1.234.567,89

Datumsformatierung

Für Datumsangaben gibt es eigene Styles. Mit .dateTime können Sie die gewünschten Felder (Jahr, Monat, Tag, Stunde) zusammenstellen. Das System ordnet sie entsprechend dem Locale an — in den USA Monat-Tag-Jahr, in weiten Teilen Europas Tag-Monat-Jahr.

import Foundation
let now = Date()
print(now.formatted(
    .dateTime.year().month().day()))
print(now.formatted(date: .long, time: .shortened))

Relative Datumsangaben

RelativeDateTimeFormatter und der Style .relative erzeugen vollständig übersetzte Formulierungen wie „vor 2 Stunden“ oder „in 3 Tagen“. Das eignet sich hervorragend für Feeds und Zeitstempel.

import Foundation
let past = Date().addingTimeInterval(-3600)
let text = past.formatted(
    .relative(presentation: .named))
print(text) // e.g. "1 hour ago"

Maße und Einheiten

Measurement formatiert physikalische Größen und kann Einheiten umrechnen. Das Locale entscheidet, ob Kilometer oder Meilen angezeigt werden, und der Style lokalisiert auch den Namen der Einheit.

import Foundation
let distance = Measurement(value: 5, unit: UnitLength.kilometers)
print(distance.formatted())
print(distance.formatted(
    .measurement(width: .wide)))

Listen und Namen

Selbst das Verknüpfen von Elementen berücksichtigt die Sprache. .list(type:) erzeugt auf Englisch „apples, oranges, and pears“ und verwendet anderswo die richtige Konjunktion und die richtigen Trennzeichen — fügen Sie Kommas und das Wort „and“ nicht manuell ein.

import Foundation
let fruits = ["apples", "oranges", "pears"]
print(fruits.formatted(.list(type: .and)))
print(fruits.formatted(.list(type: .or)))

Zurückparsen

FormatStyles sind umkehrbar. Die parseStrategy eines Styles (oder das Initialisieren eines Werts aus einem String mit diesem Style) wandelt lokalisierten Text unter Beachtung derselben Localeregeln wieder in eine Zahl oder ein Datum um.

import Foundation
let style = Decimal.FormatStyle.Currency(code: "USD")
let amount = try? Decimal("$1,234.50", format: style)
print(amount ?? 0)

Kurze Überprüfung

Rufen Sie sich das richtige Werkzeug für Geldbeträge ins Gedächtnis.

Zusammenfassung

Sie haben die localeabhängige Formatierung mit FormatStyle gelernt:

  • formatted() liefert localegerechte Standardwerte; übergeben Sie einen Style, um die Darstellung anzupassen.
  • .number, .currency(code:), .percent, .dateTime, .relative, .measurement und .list decken die meisten Anforderungen ab.
  • Hängen Sie .locale(_:) an, um die Region zu überschreiben; Styles können Text auch wieder einlesen.
  • Erstellen Sie Trennzeichen, Währungssymbole oder Datumsreihenfolgen niemals von Hand.

Häufig gestellte Fragen

Ist die Lektion „Locale-abhängige Formatierung“ kostenlos?

Ja — der vollständige Text von „Locale-abhängige Formatierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Locale-abhängige Formatierung“?

Formatieren Sie Zahlen, Datumswerte und Währungen passend zur Locale. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Swift Academy zu starten?

Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Locale-abhängige Formatierung“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?

Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. String Catalogs und lokalisierte Strings
  2. Pluralisierung und Stringsdict
  3. Locale-abhängige Formatierung
  4. Schreibrichtung von rechts nach links und Layout-Richtung
← Zurück zu Swift Academy