1049 Stimmen

.NET String.Format() zur Hinzufügung von Kommata am Tausenderplatz für eine Zahl

Ich möchte ein Komma an der Tausenderstelle für eine Nummer hinzufügen.

Wäre String.Format() der richtige Ansatz? Welches Format würde ich verwenden?

-3voto

8 John Volante Punkte 17

Die Methode, die ich verwendet habe, um mich nicht mehr um Kulturen und mögliche Formatierungsprobleme zu kümmern, besteht darin, es als Währung zu formatieren und danach das Währungssymbol herauszunehmen.

if (decimal.TryParse(tblCell, out result))

{
  formattedValue = result.ToString("C").Substring(1);
}

9 Stimmen

Dieser Code ist nicht kulturunabhängig - er verwendet die Standardkultur, die auf dem Computer läuft, auf dem der Code ausgeführt wird. Dies könnte unerwünschte Ausgaben erzeugen, wenn diese Kultur ihre Währungssymbole am Ende der Zahl anstatt am Anfang platziert (z. B. fr-FR), oder mehr als ein Zeichen verwendet, um die Währung anzugeben (z. B. da-DK), oder keine Tausender mit Kommas trennt (z. B. in den meisten Ländern Europas).

-4voto

Ali Punkte 598

Wenn Sie es im DataGridView anzeigen möchten, sollten Sie den Typ ändern, da der Standardwert String ist und wenn Sie ihn in Dezimalzahlen ändern, wird er als Zahl mit Fließkomma betrachtet

Dim dt As DataTable = New DataTable
dt.Columns.Add("col1", GetType(Decimal))
dt.Rows.Add(1)
dt.Rows.Add(10)
dt.Rows.Add(2)

DataGridView1.DataSource = dt

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X