Błąd formatu znaków

Błąd formatu znaków
  • Rejestracja: dni
  • Ostatnio: dni
0

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

Additional information: Nieprawidłowy format ciągu wejściowego.

Dostaje taki komunikat. Chodzi o to, że program go wywala jak mam kropkę w liczbach zmiennoprzecinkowych. Jeżeli wstawię przecinek to wszystko działa. Jak mogę to naprawić ?

Pozdrawiam

fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
0

Nie wiadomo co, gdzie i jak robisz i jak masz skonfigurowane, więc na przykład możesz zamieniać kropkę na przecinek.

  • Rejestracja: dni
  • Ostatnio: dni
0

Robię takie wczytanie :

Kopiuj
 
double amp;
double ch =  double::Parse(this->amp->Text);	 
fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
0

Nie wygląda to na C# (edit: bo i nie musi, dział niby też .NET, mój błąd :D). Spróbuj TryParse.

Ktos
  • Rejestracja: dni
  • Ostatnio: dni
2

Nie wiem jak w twoim kraju, ale w moim liczby zmiennoprzecinkowe mają przecinek jako separator, a nie kropkę.

A na serio - problem leży w tym, że Double.Parse() opiera się na lokalnych ustawieniach regionalnych. W Polsce separatorem jest przecinek, więc kropka jest błędna. Użyj InvariantCulture aby parsować kropkę niezależnie od ustawień regionalnych:

Kopiuj
double.Parse("3.5", CultureInfo.InvariantCulture)

(przetłumacz sobie na C++/CLI z C# tylko)

  • Rejestracja: dni
  • Ostatnio: dni
0

OK dzięki za pomoc ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.