3 Stimmen

Razor MVC C #. Ersetzt den "." durch ","

Problem besteht darin, dass Razor den Wert des Punktes (1.11) durch den Wert eines Kommas (1,11) ersetzt.

Es sieht so aus wie der Wert:

Bildbeschreibung hier eingeben

Aber wie auf der Website angezeigt:

Bildbeschreibung hier eingeben

Bitte sagen Sie mir, wie ich diesen Wert als Punkt und nicht als Komma anzeigen lassen kann?

4voto

Yannick Blondeau Punkte 9287

Es scheint, dass Ihre aktuelle CultureInfo auf eine eingestellt ist, die das Komma als Dezimaltrennzeichen verwendet.

Um dies zu korrigieren, können Sie entweder die CultureInfo für die gesamte Anwendung erzwingen. Fügen Sie in Ihrer web.config Folgendes hinzu:

Ein Weg, dies zu korrigieren, besteht darin, die Kulturinfos festzulegen. Legen Sie dies in Ihrer web.config fest

Oder setzen Sie eine andere CultureInfo nur für die aktuelle Anforderung:

var culture = new Globalization.CultureInfo("ru-RU", false);
culture.NumberFormat.CurrencyDecimalSeparator  = ".";
Threading.Thread.CurrentThread.CurrentCulture = culture;

Oder eine dritte Möglichkeit ist, einen IFormatProvider-Argument an die ToString-Methode zu übergeben:

@item.density.ToString(CultureInfo.InvariantCulture)

1voto

Dmitry Punkte 31

ToString gibt einen für Menschen lesbaren String zurück, der kultursensitiv ist. Zum Beispiel könnte für eine Instanz der Klasse Double, deren Wert Null ist, die Implementierung von Double.ToString "0,00" zurückgeben, abhängig von der aktuellen UI-Kultur. Ihr Name ist Sasha Vasilev, daher wird Ihre UI-Kultur ru-RU sein und das Dezimaltrennzeichen wird ',' anstelle von '.' sein. Sie müssen Folgendes tun:

@item.dichte.ToString(NumberFormatInfo.InvariantInfo)

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