Ich möchte ein Komma an der Tausenderstelle für eine Zahl hinzufügen.
Würde String.Format()
der richtige Weg sein? Welches Format würde ich verwenden?
Ich möchte ein Komma an der Tausenderstelle für eine Zahl hinzufügen.
Würde String.Format()
der richtige Weg sein? Welches Format würde ich verwenden?
Die Methode, die ich verwendet habe, um mich nicht mehr um Kulturen und potenzielle Formatierungsprobleme zu kümmern, besteht darin, sie als Währung zu formatieren und anschließend das Währungssymbol zu entfernen.
if (decimal.TryParse(tblCell, out result))
{
formattedValue = result.ToString("C").Substring(1);
}
Dieser Code ist nicht kultunabhängig - er wird die Standardkultur verwenden, die auf der Maschine läuft, auf der der Code ausgeführt wird. Dies könnte zu unerwünschter Ausgabe führen, bei der diese Kultur ihre Währungssymbole am Ende der Zahl statt am Anfang platziert (z. B. fr-FR
), oder mehr als ein Zeichen verwendet, um die Währung anzuzeigen (z. B. da-DK
), oder Tausender nicht durch Kommas trennt (z. B. die meisten Länder in Kontinentaleuropa).
Wenn Sie es im DataGridView anzeigen möchten, sollten Sie den Typ ändern, da der Standardtyp String ist und wenn Sie ihn auf Decimal ändern, wird er als Zahl mit Dezimalstellen 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 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.