Wie kann ich das format einen Wert als einen Prozentsatz, ohne das Prozent-Zeichen?
float f = 0.479f;
Console.WriteLine(f.ToString("p1"));
Die Ausgabe: 47.9 %
Was soll ich zum ToString (), um entfernen Sie das Prozentzeichen für eine Ausgabe wie diese:
47.9
BEARBEITEN. Ich sollte erwähnt haben, dass ich übergeben Sie die Maske, um eine 3rd-party Komponente, ist es die Sache mit ihm. Ich kann nicht ausführen, Akrobatik mit den zahlen leider. Es ist die Maske, die der trick funktioniert.
- was deine 3. Komponente tun mit formatierten string? und schränkt Ihre formatierte text-Länge?
- Denn es stellt einfach ein .FormatString-Eigenschaft nimmt diese Maske. Alle, die Formatierung erfolgt durch die 3rd-party-Kontrolle.
- Können Sie erstellen eine neue NumberInfoFormat? Wenn ja, überprüfen Sie meine post bearbeitet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also gehe ich davon aus, dass Sie stecken mit
Float.ToString(String)
, und dass Sie nicht nur Bearbeiten, diep1
imf.ToString("p1")
. Nun, das ist eine knifflige Sache. Wenn du keine Angst hast, etwas kaputt zu machen im Zusammenhang mit den änderungen stillschweigend, können Sie das folgende tun:Dem "P" numerisches format, wie dokumentiert Auf der MSDN-Website, verwendet
NumericFormatInfo.PercentSymbol
um zu schreiben, die " % " - Zeichen.NumericFormatInfo
ist ein Mitglied Ihrer aktuellenCultureInfo
. Was Sie tun können, ist, Klonen Sie IhreCurrentCulture
, und ändern Sie die PercentSymbol zu""
wie folgt:Wäre dies der Weg zu gehen, wenn Sie nicht wollen, zu ändern, die ToString-Methode aufrufen.
Nur die folgenden?
z.B. f = 0.4792 --> "47.9"
Eine Liste und Beschreibungen von standard numerische format verfügbar sind hier auf der MSDN-Website, im Falle es hilft.
Könnte versuchen
Oder, wenn Sie wollen, nicht wollen, dass ein Leerzeichen, verwenden Sie
Replace('%','\0')
EDIT: Wenn man nur die
ToString()
Methode Sie könnten erzeugen eineNumberFormatInfo
Objekt, und legen Sie den Prozentsatz-symbol "leer" übergeben und in der Methode.(
NumberFormatInfo
ist in derSystem.Globalization
namespace)z.B.
NumberFormatInfo.CurrentInfo.PercentSymbol
eher als festverdrahtung der%
symbol. (Ich habe keine Ahnung, ob irgendwelche von dem .NET Kulturen tatsächlich verwenden ein anderes symbol, aber!) In einigen Kulturen auch fügen Sie ein Leerzeichen zwischen die Zahl und die%
symbol (sieheNumberFormatInfo.PercentPositivePattern
), so kann er auch wollen zu stutzen, nachdem dies zu tun oder er wird eine führende oder nachfolgende Leerzeichen.