Wie kann ich einen Wert als Prozentsatz ohne das Prozentzeichen formatieren?

8
%Vor%

Die Ausgabe: 47,9%

Was soll ich an ToString () übergeben, um das Prozentzeichen für die Ausgabe wie folgt zu entfernen:

  

47.9

BEARBEITEN. Ich hätte erwähnen sollen, dass ich die Maske an eine Komponente von Drittanbietern übergebe, die damit fertig wird. Mit den Nummern kann ich leider keine Akrobatik machen. Es muss die Maske sein, die den Trick macht.

    
AngryHacker 16.01.2010, 01:25
quelle

4 Antworten

10
  

Ich hätte erwähnen sollen, dass ich es bin   Weitergabe der Maske an eine dritte Partei   Komponente, mit der es funktioniert   es. Ich kann keine Akrobatik machen   mit den Zahlen leider. Es hat   um die Maske zu sein, die den Trick macht.

Ich nehme also an, dass Sie mit Float.ToString(String) festhängen und dass Sie nur die p1 in f.ToString("p1") bearbeiten können. Das ist jetzt schwierig. Wenn Sie keine Angst haben, etwas mit den implizierten Änderungen zu brechen, könnten Sie Folgendes tun:

Das numerische Format "P", wie in auf MSDN dokumentiert, verwendet NumericFormatInfo.PercentSymbol , um das Zeichen "%" zu schreiben. NumericFormatInfo ist ein Mitglied Ihrer aktuellen CultureInfo . Was Sie tun könnten, ist, klonen Sie Ihre CurrentCulture , und ändern Sie das PercentSymbol in "" wie folgt:

%Vor%

Dies wäre der Weg, wenn Sie den ToString-Aufruf nicht ändern möchten.

    
Dynami Le Savard 16.01.2010, 03:21
quelle
4
%Vor%     
Rubens Farias 16.01.2010 01:29
quelle
2

Wie wäre es mit den folgenden?

%Vor%

z.B. f = 0,4792 - & gt; "47.9"

Eine Liste und Beschreibungen des standardmäßigen numerischen Formats finden Sie hier auf MSDN , für den Fall, dass dies der Fall ist hilft.

    
Noldorin 16.01.2010 01:31
quelle
2

Könnte es versuchen

%Vor%

Oder, wenn Sie kein Leerzeichen möchten, verwenden Sie Replace('%','ToString()')

BEARBEITEN: Wenn Sie nur die NumberFormatInfo -Methode verwenden können, könnten Sie ein NumberFormatInfo -Objekt erstellen, das Prozentzeichen auf leer setzen und es an die Methode übergeben. ( System.Globalization ist im Namensraum %code% ) z.B.

%Vor%     
keyboardP 16.01.2010 01:29
quelle

Tags und Links