Frage

In meiner Anwendung, gibt es Möglichkeiten, eine Zeichenfolge mit der string.Format() Funktion zu formatieren. Ich mag die Möglichkeit hinzufügen leer zurück, wenn das Ergebnis Null ist.

Soweit ich sehen kann, ist es möglich, dies zu tun mit dem Code: 0.toString("0;; ");, aber wie ich schon erwähnt, ich brauche die string.Format() Funktion zu verwenden (da es in der Lage sein muss, zum Beispiel des {0:P} Format für Prozentsatz zu verwenden .

Hat jemand weiß, wie man leere einen Nullwert mit der string.Format() Funktion?

Danke, Peter

War es hilfreich?

Lösung

warum nicht Sie tun es mit if else Aussage?

string result = String.Format(the value);
if(result=="0")
{
   result=" ";
}

Andere Tipps

String.Format() href="http://msdn.microsoft.com/en-us/library/aa719871%28v=VS.71%29.aspx" rel="noreferrer"> unterstützt die ; Bereichstrenner.

Versuchen Sie zum Beispiel String.Format("{0:#%;;' '}", 0);.

Meine Antwort ist ein bisschen spät, aber Sie können die folgende versuchen wollen:

{0:#.##%;-#.##%;''}

Oder vielleicht eleganter als eine Erweiterungsmethode auf int:

public static class StringFormatters
{
    public static string ToNonZeroString(this int i) => i == 0 ? "" : i.ToString();
}

und dann

(1+1-2).ToNonZeroString()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top