Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C# Problém s převodem textboxu do float

Dobrý den,
Mám problé převést textbox neboli string do floatu. Dělá mi tam problém tečka/čárka, kdyby alespoň jedno fungovalo dalo by se to vyřešit přes replace bohužel mi to nejde. Převod jsem dělal následovně:

nefungovalo

float test;
test = float.Parse(textBox4.Text);

ani

float test;
test = float.Parse((textBox4.Text).ToString());

ani

float test;
test = (float)Convert.ToDouble(textBox4.Text)

Prosím poraďte děkuji moc.

Předmět Autor Datum
Hey you, over there:-D: float fnum = float.Parse(textBox1.Text); float vysledek = fnum + (float)2.…
Flash_Gordon 31.08.2011 12:43
Flash_Gordon
Diky
Atomix617 31.08.2011 13:08
Atomix617
Použi float.Parse s požadovaným CultureInfo argumentom. Ak chceš bodku, tak použi CultureInfo.Invari…
los 31.08.2011 12:51
los
1000.45 vstup mi tam skočí error s použitím float.Parse(textBox4.Text, CultureInfo.InvariantCulture…
Atomix617 31.08.2011 13:04
Atomix617
Rada do budoucna: Pokud popíšeš problém stylem "nejde to" nebo "vyskočí nějaká chyba" bez toho, aby…
Wikan 31.08.2011 13:13
Wikan
jj diky za informace a od příště to už neudělám jinak :) ale už mi to jede. test = float.Parse(textB… poslední
Atomix617 31.08.2011 13:15
Atomix617

Hey you, over there:-D:

 float fnum = float.Parse(textBox1.Text);

float vysledek = fnum + (float)2.2;
MessageBox.Show(vysledek.ToString());

Poznámka: Asi se bere v potaz aktuální místní nastavení Windows.
Což je u tebe předpokládám české. To má jako desetinný oddělovač čárku , nikoliv .

Použi float.Parse s požadovaným CultureInfo argumentom. Ak chceš bodku, tak použi CultureInfo.InvariantCulture. Bez použitia tohto argumentu sa použije také CultureInfo, aké je nastavené v aktuálnom vlákne.

test = float.Parse(textBox4.Text, CultureInfo.InvariantCulture)

Pravdepodobne chceš použiť metódu float.TryParse, aby si zbytočne nevyhadzoval výnimky pre prípady, ktoré vieš ošetriť.

Edit: Aj tak bude zrejme lepšie pre vstup číselných hodnôt použiť NumericUpDown namiesto textboxu.

Rada do budoucna:
Pokud popíšeš problém stylem "nejde to" nebo "vyskočí nějaká chyba" bez toho, aby jsi napsal, co konkrétně nejde, případně jaká konkrétní chyba vyskočí, tak se na tebe většina rádců rovnou vykašle, i když třeba ví nebo tuší, v čem je problém.

Zpět do poradny Odpovědět na původní otázku Nahoru