2012-11-08 5 views
7

Mögliche Duplizieren:
Using String Format to show decimal upto 2 places or simple integer
How to set decimal point in 2 decimal places?Wie wird die Zahl auf 2 Dezimalstellen in mvc3, C# angezeigt?

I Preisfeld in meiner Sicht haben. es haben folgende Werte 2.5 and 44. ich diesen Wert auf 2.50 and 44.00 angezeigt werden soll ich den folgenden Code

@{decimal prolistprice = decimal.Parse(item.OtherFields["Price"].ToString());} 
    [email protected](prolistprice, 2, MidpointRounding.AwayFromZero) 

in denen item.OtherFields["price"] is a object ich es Zeichenfolge verwenden konvertieren und dann

dezimal aber Math.round funktioniert es nicht nur zeigt 2,5 und 44 .. Kann mir jemand helfen, diese

+0

Warum der Titel sagen "integer"? –

+0

Sie können diesen Beitrag verfolgen: http://stackoverflow.com/questions/6951335/using-string-format-to-show-decimal-upto-2-places-or-simple-integer –

+0

http://stackoverflow.com/questions/5428289/mvc3-decimal-truncated-to-2-decimal-places-on-edit – alexsuslin

Antwort

24

Math.Round macht genau das - rund.

die Zahl formatieren Sie .ToString(formatString) wie so verwenden:

item.OtherFields["price"].ToString("0.00") 
+0

Keine Überladung Methode für ToString dauert 1 Argument – niico

+1

@niico Sie rufen wahrscheinlich 'ToString' auf einem Nullable-Typ . Wenn ja, müssen Sie 'youVariable.Value.ToString (" 0.00 ")' tun. Vergiss aber nicht zuerst zu überprüfen! – PeteGO

4

Dies sollte

yourvalue.ToString ("0.00"); 
für Sie arbeiten
3
decimal dValue = 2.5; 
string sDisplayValue = dValue.ToString("0.00"); 
12

Verwenden String-Format Funktion

1. string.Format("{0:n2}", 200000000.8776); 
2. string.Format("{0:n3}", 200000000.8776); 
3. string.Format("{0:n2}", 0.3); 

/* OUTOUT 
1. 200,000,000.88 
2. 200,000,000.878 
3. 0.30 
*/ 
Verwandte Themen