2013-02-19 3 views
6

Im Grunde erkenne ich, dass meine Anwendung Kommas anstelle von Dezimalzahlen verwendet, und das möchte ich NIEMALS erlauben. Weiß jemand wie ich das korrigieren kann? Ich kann über Google keine einzige Sache finden, die Dezimalzahlen erzwingt, es geht nur darum, Kommas zu erzwingen.C# - Force String.Format, um Dezimalstellen und NIEMALS Kommata zu verwenden

  return String.Format("{0}f, {1}f, {2}f, {3}f, {4}f, {5}f, {6}f, {7}f, {8}f, {9}f, {10}f, {11}f, {12}f, {13}f, {14}f, {15}f", M.M11, M.M12, M.M13, M.M14, M.M21, M.M22, M.M23, M.M24, M.M31, M.M32, M.M33, M.M34, M.OffsetX, M.OffsetY, M.OffsetZ, M.M44); 
+0

Können Sie uns ein Beispiel geben, wenn es Kommata verwendet und Dezimalzahlen verwenden soll? –

+0

Wenn jemand in Großbritannien meine Bewerbung startet, wird 1,5654654 1,5654654 sein – Geesu

+1

Wenn Sie das nicht zulassen, wird es Ihre britischen Benutzer verwirren. Sind Sie sicher, dass das in Ordnung sein wird? –

Antwort

9

Sie die andere Überlastung verwenden können:

return String.Format(
    CultureInfo.InvariantCulture // <<== That's the magic 
, "{0}f, {1}f, {2}f, {3}f, {4}f, {5}f, {6}f, {7}f, {8}f, {9}f, {10}f, {11}f, {12}f, {13}f, {14}f, {15}f" 
, M.M11, M.M12, M.M13, M.M14, M.M21, M.M22, M.M23, M.M24, M.M31, M.M32, M.M33, M.M34, M.OffsetX, M.OffsetY, M.OffsetZ, M.M44 
); 

Diese Art der Berufung stellt sicher, dass die invariante Kultur wird als Format-Provider an die String.Format übergeben, so dass Sie Punkte für Zahlen, Dollar für Währungssymbole, Englisch für Namen der Monate und Tage und so weiter erhalten.

+0

Ich denke, das ist wahrscheinlich korrekter als meine Antwort. –

+0

Ich liebe dich, danke! – Geesu

1

Versuchen Sie, die Kultur zu US-Englisch für die String.Format Funktion Einstellung:

String.Format(new CultureInfo("en-US"), "{0}f, {1}f, {2}f", etc) 
Verwandte Themen