I String
precent Wert in Double
durch drehen wollen:NumberFormatter Prozent Wert drehen zu verdoppeln bekommen null
let formatter = NumberFormatter()
formatter.numberStyle = .percent
let a = formatter.number(from: "12.5%")
print(a)
Es funktioniert gut in Spielplatz. Aber wenn Sie im Projekt unter "romana" (Română) Sprache testen, druckt es nil
. Wenn ich 12,5% in int-Typ Prozentwert wie 56%
ändern, funktioniert es kein Problem.
Irgendeine Idee?
Die Spracheinstellungsseite angehängt.
Es funktioniert. Ich habe deine Antwort erneuert. Ich denke, die akzeptierte Antwort ist besser. Vielen Dank! –
@WilliamHu Das Problem mit der akzeptierten Antwort ist, dass es den Zweck von Locales besiegt, indem es ausländische Nummerierungskonventionen für rumänische Endbenutzer erzwingt: Sie werden keine Ahnung haben, warum Ihr Programm keine vollkommen legale "12,5%" einnimmt. – dasblinkenlight
Danke. Sie wissen, dass ich die ganze Quellennummer mit '' '.''' Trennzeichen bekommen habe. Ich denke, du meinst, ich sollte das '.' Zu '' '' '' 'in der Zeichenfolge zuerst ersetzen. Dann in Doppel konvertieren? Aber wenn es so ist, mache ich mir Sorgen, wenn andere Sprachen andere Trennzeichen verwenden. Ich kann eins nach dem anderen ersetzen? Was denken Sie? Ich stimme deinen Gedanken zu. Aber um mein Problem zu lösen, habe ich diese Antwort gewählt. :) Auch realisiert, wenn diese '' 'formatter.decimalSeparator =". "' '' Es funktioniert auch. –