Zdravíčko přátelé! Ze začátku upozorňuji, že jsem v C# úplný začátečník, proto prosím buďte schovívavý pokud se ptám na nějakou jednoduchou kravinu.
Mám napsaný jednoduchý prográmek na různé operace s čísly a potřeboval bych nějak ošetřit situaci, kdy dotyčný do zadávacího pole napíše jiný znak než číslice 0-9. Ideálně aby po zadání jiného znaku a následném pokusu o výpočet vyskočil message box s informacemi o chybě. Jediná věc kterou potřebuji poradit je jak deklarovat, že jediné povolené znaky jsou číslice. Předpokládám že se to bude dělat přes funkci if (int != ...). Nebo na to jdu špatně?
Předem děkuji za rady!
C# deklarace povolených znaků
C# deklarace povolených znaků
Lenovo ThinkPad T480 | Intel Core i5-8250U | 8GB RAM DDR4 | Intel UHD Graphics | 256GB SSD
Dell Inspiron 15 7560 | Intel i5-7200U | nVidia GeForce 940MX | RAM 8GB DDR4 2400 MHz | 256GB SSD
Xiaomi Mi 8 | Snapdragon 845 | 6/128 GB
Dell Inspiron 15 7560 | Intel i5-7200U | nVidia GeForce 940MX | RAM 8GB DDR4 2400 MHz | 256GB SSD
Xiaomi Mi 8 | Snapdragon 845 | 6/128 GB
-
- Level 1
- Příspěvky: 75
- Registrován: květen 13
- Pohlaví:
- Stav:
Offline
Re: C# deklarace povolených znaků
Taky jsem začátečník ale vyřešil bych to tak že bych si proměnou ve který máš uložená čísla převedl do stringu a pak bych zkontroloval jestli obsahuje pouze čísla a pak to převed zpátky..
Re: C# deklarace povolených znaků
Já právě nevím jak deklarovat nebo zkontrolovat, zda-li na vstupu jsou pouze číslice. Šlo by to kontrolovat až na výstupu, protože pokud je zadáno do vstupu něco jiného než čísla, tak výsledkové pole zůstane prázdné. Ale na to jak deklarovat do podmínky prázdné pole jsem také nepřišel.
Lenovo ThinkPad T480 | Intel Core i5-8250U | 8GB RAM DDR4 | Intel UHD Graphics | 256GB SSD
Dell Inspiron 15 7560 | Intel i5-7200U | nVidia GeForce 940MX | RAM 8GB DDR4 2400 MHz | 256GB SSD
Xiaomi Mi 8 | Snapdragon 845 | 6/128 GB
Dell Inspiron 15 7560 | Intel i5-7200U | nVidia GeForce 940MX | RAM 8GB DDR4 2400 MHz | 256GB SSD
Xiaomi Mi 8 | Snapdragon 845 | 6/128 GB
-
- Level 1
- Příspěvky: 75
- Registrován: květen 13
- Pohlaví:
- Stav:
Offline
Re: C# deklarace povolených znaků
Přidej sem kód bude to lepší.
Re: C# deklarace povolených znaků
Kód: Vybrat vše
public MainPage()
{
this.InitializeComponent();
}
private void btnCalc_Click(object sender, RoutedEventArgs e)
{
int A = int.Parse(txtA.Text);
int B = int.Parse(txtB.Text);
int C = int.Parse(txtC.Text);
int D = int.Parse(txtD.Text);
int E = int.Parse(txtE.Text);
int F = int.Parse(txtF.Text);
int G = int.Parse(txtG.Text);
int H = int.Parse(txtH.Text);
int I = int.Parse(txtI.Text);
int vysledek = A * E * I + D * H * C + G * B * F - C * E * G - F * H * A - I * B * D;
txtVysledek.Text = vysledek.ToString();
if (vysledek == 0)
{
txtVysledek.Text = "Neplatne zadani!".ToString();
}
}
Lenovo ThinkPad T480 | Intel Core i5-8250U | 8GB RAM DDR4 | Intel UHD Graphics | 256GB SSD
Dell Inspiron 15 7560 | Intel i5-7200U | nVidia GeForce 940MX | RAM 8GB DDR4 2400 MHz | 256GB SSD
Xiaomi Mi 8 | Snapdragon 845 | 6/128 GB
Dell Inspiron 15 7560 | Intel i5-7200U | nVidia GeForce 940MX | RAM 8GB DDR4 2400 MHz | 256GB SSD
Xiaomi Mi 8 | Snapdragon 845 | 6/128 GB
-
- Level 1
- Příspěvky: 75
- Registrován: květen 13
- Pohlaví:
- Stav:
Offline
Re: C# deklarace povolených znaků
Zkus jestli to jde.
► Zobrazit spoiler
Naposledy upravil(a) KrisMan555 dne 01 říj 2017 17:40, celkem upraveno 1 x.
Re: C# deklarace povolených znaků
Tohle nefunguje.
Dodatečně přidáno po 1 minutě 33 vteřinách:
Při zadání jiného znaku (například písmena) to vypíše Uživatelem neošetřenou výjimku System.FormatException: Input string was not in a correct format.
Dodatečně přidáno po 3 minutách 34 vteřinách:
Jak mám v tom kódu if tak toho si nevšímej, to se vztahuje pouze na nulový výsledek který ti za daných okolní vyjde při určité kombinaci čísel.
Dodatečně přidáno po 1 minutě 33 vteřinách:
Při zadání jiného znaku (například písmena) to vypíše Uživatelem neošetřenou výjimku System.FormatException: Input string was not in a correct format.
Dodatečně přidáno po 3 minutách 34 vteřinách:
Jak mám v tom kódu if tak toho si nevšímej, to se vztahuje pouze na nulový výsledek který ti za daných okolní vyjde při určité kombinaci čísel.
Lenovo ThinkPad T480 | Intel Core i5-8250U | 8GB RAM DDR4 | Intel UHD Graphics | 256GB SSD
Dell Inspiron 15 7560 | Intel i5-7200U | nVidia GeForce 940MX | RAM 8GB DDR4 2400 MHz | 256GB SSD
Xiaomi Mi 8 | Snapdragon 845 | 6/128 GB
Dell Inspiron 15 7560 | Intel i5-7200U | nVidia GeForce 940MX | RAM 8GB DDR4 2400 MHz | 256GB SSD
Xiaomi Mi 8 | Snapdragon 845 | 6/128 GB
Re: C# deklarace povolených znaků
C# nepatří mezi jazyky kterými bych se domluvil, ale napadá mě několik možností:
- Odchytit tu výjimku při chybě, případně jí odchytávat v cyklu.
- Před převodem projít cyklem celý string znak po znaku, jestli některý není mimo rozsah '0'..'9'.
- Prostudovat si MSDN.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: C# deklarace povolených znaků
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů