Format dezimal c # - Keep letzte Null

8

Ich habe nach dem gesucht, aber ich kann nicht die Antwort finden. Ich habe die folgenden Dezimalen mit der entsprechenden Ausgabe, die ich von String.Format

will

100,00 - & gt; 100
100,50 - & gt; 100,50
100.51 - & gt; 100.51

Mein Problem ist, dass ich kein Format finden kann, das die 0 am Ende von 100.50 behält, sowie die 2 Nullen von 100 entfernt.

Jede Hilfe wird sehr geschätzt.

BEARBEITEN Für etwas mehr Klarheit. Ich habe Variablen vom Typ Dezimal, sie werden immer nur 2 Dezimalstellen sein. Grundsätzlich möchte ich 2 Dezimalstellen anzeigen, wenn sie existieren oder keine, ich möchte keine Dezimalstelle anzeigen, wenn 100,50 zu 100,5 wird

    
Peuge 27.07.2012, 07:41
quelle

5 Antworten

14

Sie können dies verwenden:

%Vor%     
Mark Byers 27.07.2012, 07:45
quelle
16

Soweit ich weiß, gibt es kein solches Format. Sie müssen dies manuell implementieren, z. B .:

%Vor%     
Heinzi 27.07.2012 07:45
quelle
5

Testen Sie, ob Ihre Zahl eine Ganzzahl ist, und verwenden Sie das entsprechende Format:

%Vor%     
mathieu 27.07.2012 07:45
quelle
2

Ok, das schmerzt meine Augen, aber sollte dir geben, was du willst:

%Vor%

UPDATE: Ich mag Heinzi's Antwort mehr.

    
tobias86 27.07.2012 07:45
quelle
1

Dieser Ansatz wird das gewünschte Ergebnis erzielen, während die angegebene Kultur angewendet wird:

%Vor%

Sie können die Kultur durch CultureInfo.CurrentCulture oder eine andere Kultur ersetzen, die Ihren Anforderungen entspricht.

Die CustomFormatter-Klasse lautet:

%Vor%     
Luke 27.07.2012 13:55
quelle

Tags und Links