double.Parse
verwendet standardmäßig die aktuelle Kultur. Es klingt, als wolltest du die invariante Kultur:
EDIT: Nur um klar zu sein, sollten Sie dies natürlich nicht verwenden, wenn Sie versuchen, Text, der von einem Benutzer in einer anderen Kultur eingegeben wurde, zu analysieren. Dies ist nützlich, wenn Sie Daten in invarianter Kultur erhalten haben (wie die meisten maschinenbasierten Datenformate) und diese beim Parsen erzwingen wollen.
Sie müssen .
nicht in ,
ersetzen. Es ist jedoch besser, die Methode .net TryParse
wie:
Bearbeiten: Beachten Sie auch, dass Sie beim Ersetzen von .
durch ,
falsche Ergebnisse erhalten, z. B. 1.12
:
Beachten Sie, dass dieses Problem davon abhängen kann, woher die Eingabezeichenfolge stammt. Wenn es von einer Datenbank als Objekt gelesen wird, können Sie das Problem lösen, indem Sie es als Objekt beibehalten und Convert.ToDouble () wie folgt verwenden:
%Vor%Tags und Links c# double formatexception