2017-07-01 3 views
0

Ich versuche, Text an den Anfang eines Werts, der Zahlen formatiert ist, hinzuzufügen. Ich habe ein paar Optionen ausprobiert, aber kein Glück. Hier ist, was ich bisher:Erstellen von Zeichenfolge mit formatierten Zeichenfolge Nummer

calculationLabel.text = "IRD Penalty: \(format: "$%.02f", penalty)" 

es gibt "IRD Penalty: format: "$%.02f", result"

Gedanken?

let my_format = String(format:"%.02f", penalty) 
calculationLabel.text = "IRD Penalty: \(my_format)" 

Wenn Sie, dass jedes Mal nicht tun sich wohl fühlen, können Sie Klasse erweitert:

+0

Verwenden NSString (Format: string) –

Antwort

0

format ist nur verfügbar mit String Initialisierung, nicht mit String Interpolation. Stellen Sie außerdem sicher, dass Sie import Foundation (oder import UIKit oder import Cocoa) in Ihrer Datei haben.

Hier sind drei Möglichkeiten, um es in einer Zeile zu tun:

  1. Setzen Sie Ihre führende String in das Format String:

    calculationLabel.text = String(format: "IRD Penalty: $%.02f", penalty) 
    
  2. Verwenden + die führende String mit dem formatierten verketten String :

    calculationLabel.text = "IRD Penalty: " + String(format: "$%.02f", penalty) 
    
  3. Setzen Sie
  4. den vollen String(format:) Anruf innerhalb der String Interpolation:

    calculationLabel.text = "IRD Penalty: \(String(format: "$%.02f", penalty))" 
    
+0

Kevin, du postest die Kommentare auf die falsche Antwort. Stellen Sie sicher, dass Sie 'String (format ...)' aufrufen, wenn Sie '+' verwenden. – vacawama

0

Kann durch archiviert werden.

extension Double { 
    func my_format() -> String { 
     return String(format: "%.02f", self) 
    } 
} 

calculationLabel.text = "IRD Penalty: \(penalty.my_format())" 

Ich habe den Code nicht getestet. Aber das sollte genug sein, um eine Idee zu bekommen.

+0

Danke. Das "+" gibt einen Fehler, der nicht auf den Typ String und (Format: String Double) angewendet werden kann. –

Verwandte Themen