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?
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?
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);
}
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).
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 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.