Frage

Meine Anwendung zur Zeit ist die Anzeige negative Zahlen als -1. Der Anwender hat die Anforderungen geändert (nur für einen Wechsel!) Und jetzt werden wir die Zahlen als (1) angezeigt werden müssen. Kann ich ermöglichen sagen, dass für die gesamte Anwendung der web.config ändern oder sogar die Culture App? Gibt es eine Nebenwirkung zu tun, da wir viele Seiten, die Zahl Validierer enthalten?

Danke!

War es hilfreich?

Lösung

Für Währung ist es wirklich einfach:

String.Format("{0:C}", value)

Das wird die Kultur-Info für das System.

Für normale Zahlen sind Daten gebunden, die Verwendung Mark Glorie der Probe .

MSDN Artikel

Andere Tipps

würde ich String-Formatierung. eine Änderung der Konfiguration der Anwendung Erstellen eines UI-Anforderung zu erfüllen ist plump. SteveX schrieb einen große Blog-Post über String Formatierung rel="nofollow. Es ist auch mit Markup (aspx) kompatibel statt nur relevant in Code.

Von seinem Posten:

String.Format(”{0:$#,##0.00;($#,##0.00);Zero}”, value);

    This will output “$1,240.00″ if passed 1243.50. It will output the 
    same format but in parentheses if the number is negative, and will
    output the string “Zero” if the number is zero.

Was nicht genau das, was Sie wollen, aber es ist nah.

Überprüfen Sie dieses .. http://msdn.microsoft.com/en-us/library/91fwbcsb.aspx

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in der entsprechenden Dezimalzahl.

Sie können immer Ihre eigenen ToString () Methode als Erweiterungsmethode schreiben, aber wie Sie erwähnen, Culture verwendet, ist wahrscheinlich besser. Werfen Sie einen Blick hier:

http://msdn.microsoft.com /en-us/library/system.globalization.numberformatinfo.numbernegativepattern.aspx

Ich habe dafür Zeichenfolge Formatierung auf die folgende Seite als Lesezeichen bekommt: http: //idunno.org/archive/2004/14/01/122.aspx

Etwa auf halber Strecke nach unten, es gibt die Antwort:

String.Format("{0:£#,##0.00;(£#,##0.00);Nothing}", value);

Ihre andere Frage zu beantworten, würde ich die app.config nicht ändern, um es global zu machen, denn in den anderen Antworten gegeben Gründe.

String.Format(”{0:f;(f);0”, -1);

Das funktioniert.

DataFormatString="{0:c0}"
  • Negative Werte in Klammern
  • Thousand Trenner - Komma
  • $ Symbol vor

anzeigt, die Sie Ihre Daten in Gridview / Datagrids? Wenn ja, dann können die Formatierung pro gebundenen Säule angewendet werden, so etwas wie:

<asp:BoundField DataFormatString="{##;(##)}"/>

Dies funktioniert nur mit ganzen Zahlen aber ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top