Frage Format Dezimal als US-Währung


<%= Math.Round(netValue)%>

Ein Beispiel für die Ausgabe könnte -1243313 sein

Wie stelle ich sicher, dass es als US-Währung formatiert ist (mit dem "$", korrekten Kommas usw.)?


5
2018-03-03 21:12


Ursprung


Antworten:


Könnte sein:

<%=string.Format(CultureInfo.GetCultureInfo(1033), "{0:C}", Math.Round(netValue)) %>

(1033 ist die Gebietsschema-ID für die "en-us" -Kultur)


10
2018-03-03 21:14



Wenn die Thread-Kultur bereits en-US ist, müssen Sie sie nicht angeben.

<%= Math.Round(netValue).ToString("C") %> 

Andernfalls erstellen Sie zuerst ein Kulturobjekt, um die Kultur für die Vereinigten Staaten zu erhalten.

CultureInfo usaCulture = new CultureInfo("en-US");

Sie können das dann an die ToString-Methode für das Dezimal-Objekt übergeben.

<%= Math.Round(netValue).ToString("C", usaCulture) %> 

3
2018-03-03 21:24



Sie können verwenden formatWährungscode C so:

decimal moneyvalue = 1921.39;
string output = String.Format("Order Total: {0:C}", moneyvalue);
Console.WriteLine(output);

Edit: Wenn Internationalisierung ein Problem ist, sollten Sie einen Blick darauf werfen Lokalisierung auch.


1
2018-03-03 21:15



Sieh dir das an: http://blog.stevex.net/string-formatting-in-csharp/


0
2018-03-03 21:15