2013-03-08 12 views
5

Ich habe eine Tabellenspalte "Betrag" vom Typ Geld. Wenn ich seinen Wert durch eine Speicherprozedur abrufe, gibt er den Wert bis zu 4 Dezimalstellen zurück (wegen Typ Geld). Ich möchte den Wert bis zwei Dezimalstellen und ich möchte, dass es im Code behandelt. Wie mache ich das, indem ich den Wert auf 2 Dezimalstellen abrundet. DankWie Werte nur bis zu 2 Dezimalstellen angezeigt werden

+0

Kann auf die Antwort in dem unten stehenden Link einen Blick .. http://stackoverflow.com/a/37997363/4619541 –

Antwort

1

Nun erlaubt, habe ich versucht, es und hat das richtige Ergebnis.

Unten ist der Code, den ich verwendet:

funding.amount= Math.Round(decimal.Parse(dr["Amount"].ToString()), 2).ToString(); 

// da die Menge der String-Typ war, deshalb habe ich den obigen Code. wir können auch den folgenden Code verwenden:

decimal.Round(yourValue, 2, MidpointRounding.AwayFromZero); 

http://msdn.microsoft.com/en-us/library/9s0xa85y.aspx

3

Format in Präsentationsschicht:

string.Format("{0:#.##}", value); 
13

lesen Custom Numeric Formats für detaillierte Anweisungen zur Formatierung Zahlen.

value.ToString("0.00"); 
+3

+1. Dieser ist besser, wenn Sie immer 2 Dezimalstellen wollen, auch wenn der Wert nur 1 sagt. Dies sollte die akzeptierte Antwort sein. –

0

Sie Standard Numeric Format Beispiel verwenden können:

decimal dValue = 1.268; 
string sValue = dValue.ToString("N"); // 1.27 
0

In Event verlassen schreiben diesen Code

Double x; 
     Double.TryParse(txtLocl.Text, out x); 
     txtLocl.Text = x.ToString("0.00"); 

Nach dem Verlassen der es nur zwei Dezimalstellen

Verwandte Themen