

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.
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.
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.
1000.45 vstup
mi tam skočí error s použitím
float.Parse(textBox4.Text, CultureInfo.InvariantCulture)
a s čárkou mi to tam nepustí TryParse
NumericUpDown vyzkouším zachvíly.
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.
jj diky za informace a od příště to už neudělám jinak :)
ale už mi to jede.
test = float.Parse(textBox4.Text, CultureInfo.InvariantCulture);
Děkuji moc ! :)