1049 Stimmen

.NET String.Format() um Kommas an tausendstel Stelle für eine Zahl hinzuzufügen

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?

-3voto

8 John Volante Punkte 17

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

9 Stimmen

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).

-4voto

Ali Punkte 598

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.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