C# - Double.Parse( String ) - nie działa !!!

0

Witam

Zaczynam zabawe z .NET'em - poprzednio C++ i Java. No i pojawił
się problem.

   String s = "45.5"; 
   double val = Double.Parse(s); 

i generuje mi wyjątek FormatException ???

O co chodzi? Czy może o to, że pobiera polskie formatowanie i
potrzebuje przecinka zamiast kropki? - Ale to mnie nie zadowala -
potrzebuje reakcje na kropkę !! Pomocy...

0

A czy nie mozna torche pomyslec ?
Jesli to problem kropki zamiast przecinka to wystarczy wklepac cos takiego

string napis = "45.5";
			
double var = Double.Parse( napis.Replace(".", ",") );

I juz mamy to dobrze przekonwertowane i nawet nie zmieniamy orginalnego stringa

Pozdrawiam.

0

A co jeśli program będzie odpalany na komputerze en-us i pl -jak zrobić to automatycznie ?

0

Podac drugi parametr - czyli NumberFormatInfo. W innym wypadku parsowanie opiera sie o lokalne ustawienia jezyka i separatora dziesietnego.

0

Jeśli separatorem dziesiętnym zawsze ma być kropka, to najprościej chyba:

string s = "12.45";
double d = Double.Parse(s, CultureInfo.InvariantCulture);
Console.WriteLine(d);

1 użytkowników online, w tym zalogowanych: 0, gości: 1