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.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
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

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