Domanda

Nella mia applicazione, ci sono possibilità per formattare una stringa utilizzando la funzione string.Format(). Voglio aggiungere la possibilità di tornare vuoto quando il risultato è zero.

Per quanto posso vedere, è possibile farlo utilizzando il codice: 0.toString("0;; ");, ma come già accennato, devo utilizzare la funzione string.Format() (poiché deve essere in grado di utilizzare per esempio il formato {0:P} per percentuale .

Qualcuno sa come vuoto un valore pari a zero utilizzando la funzione string.Format()?

Grazie, Peter

È stato utile?

Soluzione

perché non lo si fa con la dichiarazione if else?

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

Altri suggerimenti

supporti

??String.Format() href="http://msdn.microsoft.com/en-us/library/aa719871%28v=VS.71%29.aspx" rel="noreferrer"> il ; sezione separatore.

Prova ad esempio String.Format("{0:#%;;' '}", 0);.

La mia risposta è un po 'tardi, ma si consiglia di provare quanto segue:

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

In alternativa, forse più elegante come un metodo di estensione sul int:

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

e quindi

(1+1-2).ToNonZeroString()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top