c convert string int using parse
Tutoriál o tom, ako previesť reťazec na Int v C #. Naučíte sa viac metód konverzie, ako je analýza, vyskúšanie a konverzia na základe požiadaviek:
aký je najlepší e-mail na použitie
Väčšina z nás bola v tejto situácii raz za čas, keď potrebovala previesť reťazec na celočíselný dátový typ.
Napríklad, povedzme, že dostanem reťazec „99“ zo zdroja údajov (z databázy, vstupu používateľa atď.), ale na vykonanie niektorých výpočtov ho potrebujeme ako celé číslo, tu ho najskôr budeme musieť previesť na celé číslo, skôr ako začneme niektoré aritmetické operácie.
Existuje niekoľko spôsobov, ako to urobiť, a pozrime sa na zopár často používaných metód.
=> Pozrite sa na celú sériu školení C # tu
Čo sa dozviete:
- Metóda Int.Parse
- Metóda System.Convert
- metóda int.TryParse
- Prevod nečíselného reťazca na celé číslo
- Záver
- Odporúčané čítanie
Metóda Int.Parse
Metóda Int.Parse funguje ako zázraky, ak ste si istí, že vaša konverzia nikdy neurobí chybu. Toto je jeden z najjednoduchších a najjednoduchších spôsobov prevodu reťazca na celé číslo. Môže to spôsobiť chybu, ak konverzia nebude úspešná.
Táto metóda sa používa hlavne vtedy, keď máte celé číslo vo forme reťazca. Napríklad, dostanete číslicu reťazca od vstupu používateľa ako „99“. Skúsme jednoduchý program na prevod tohto reťazca na celé číslo.
Program
program verejnej triedy
{ public static void Main() { String str = '99'; int number = int.Parse(str); Console.WriteLine(number); } }
Výkon
Výstup vyššie uvedeného programu:
99
Vysvetlenie
Program vráti číselnú hodnotu reťazca.
Zložitou časťou použitia metódy int.Parse je problém vyhodenia chyby, ak reťazec nie je v správnom formáte, t. J. Ak reťazec obsahuje iné znaky ako číslice.
Ak je prítomný iný znak ako číslica, potom táto metóda spôsobí nasledujúcu chybu:
“(System.FormatException: Input string was not in a correct format.)”
Metóda System.Convert
Ďalším spôsobom, ako previesť reťazec na celé číslo, je použitie metódy Convert. Táto metóda nie je taká jednoduchá ako predchádzajúca metóda, pretože musíme byť pripravení zvládnuť všetky výnimky, ktoré sa môžu vyskytnúť v dôsledku interakcie programu s chybnými údajmi.
metóda, ktorá prijíma pole
Výnimky môžu tiež spotrebovať veľa pamäte, a preto sa počas procesu vykonávania neodporúča stretnúť so žiadnou alebo nežiaducou výnimkou. Napríklad, ak sa v slučke vyskytne výnimka, potom sa pri ich hádzaní spotrebuje veľa pamäte, a tým sa spomalí váš program.
Použitie metódy Previesť je celkom užitočné, ak chcete poznať dôvod zlyhania analýzy. Môže zachytiť výnimku a zobraziť podrobnosti zlyhania.
Program
public class Program { public static String intString = '123'; public static void Main(string() args) { int i = 0; try { i = System.Convert.ToInt32(intString); } catch (Exception e) { } Console.WriteLine('The converted int is : '+i); } }
Výkon
„Konvertovaná int je: 123“
Vysvetlenie
Vo vyššie uvedenom programe sme použili metódu convert na prevod reťazca na celé číslo. Ak je premenná String číselná, potom sa prevedie na celé číslo, ale v prípade chybného reťazca vyvolá výnimku, ktorú bude spracovávať blok catch.
metóda int.TryParse
Jedným z najbežnejších spôsobov, ako analyzovať reťazcovú reprezentáciu na 32-bitové celé číslo, je použitie metódy TryParse. Táto metóda nezohľadňuje žiadne medzery pred alebo za reťazcom, ale všetky ostatné znaky reťazca by mali mať vhodný numerický typ, aby sa uľahčila konverzia.
Napríklad, akékoľvek medzery, abeceda alebo špeciálne znaky v premennej môžu spôsobiť chybu.
Metóda TryParse akceptuje dva parametre, prvý je reťazec, ktorý chce používateľ konvertovať, a druhý parameter je kľúčové slovo „out“, za ktorým nasleduje premenná, do ktorej chcete hodnotu uložiť. Vráti hodnotu založenú na úspechu alebo neúspechu konverzie.
TryParse(String, out var)
Pozrime sa na jednoduchý program na prevod číselného reťazca na celé číslo.
Program
class Program { static void Main(string() args) { try { string value = '999'; int numeric; bool isTrue = int.TryParse(value, out numeric); if (isTrue) { Console.WriteLine('The Integer value is ' + numeric); } } catch (FormatException e) { Console.WriteLine(e.Message); } } }
Výkon
Hodnota celého čísla je 999
Vysvetlenie
Vo vyššie uvedenom programe sme program „TryParse“ použili na prevod číselného reťazca na celé číslo. Najskôr sme definovali reťazcovú premennú, ktorú musíme previesť. Potom sme inicializovali ďalšiu premennú „numeric“ typu integer. Potom sme pomocou boolovskej premennej uložili návratovú hodnotu try parse.
Ak vráti hodnotu true, znamená to, že reťazec bol úspešne prevedený na celé číslo. Ak vráti hodnotu false, vyskytne sa problém so vstupným reťazcom. Celý úryvok programu sme obklopili vnútri bloku try-catch, aby sme zvládli všetky možné výnimky.
Prevod nečíselného reťazca na celé číslo
Vo všetkých vyššie uvedených programoch sme sa pokúsili previesť hodnotu číselného reťazca na celé číslo, ale v scenári reálneho sveta musíme väčšinu času narábať s reťazcami, ktoré obsahujú špeciálne znaky, abecedy spolu s číslicami. Ak chceme získať iba číselnú hodnotu, môže to byť trochu ťažké.
Napríklad, máme cenový reťazec s hodnotou 100 dolárov a musíme získať cenu v celých číslach. V takom prípade, ak sa pokúsime použiť niektorý z vyššie diskutovaných prístupov, dostaneme výnimku.
Tieto typy scenárov je možné ľahko zvládnuť pomocou cyklu for a regulárneho výrazu po rozdelení reťazca na pole znakov.
Pozrime sa na program:
class Program { static void Main(string() args) { string price = '0'; string priceNumeric = ''; for(inti =0; i Výkon
Číselná hodnota ceny je: 100
Vysvetlenie:
ako spustiť súbor jar v systéme Windows -
V predchádzajúcej časti kódu máme cenovú premennú dátového typu reťazec. Potom definujeme a inicializujeme ďalšiu reťazcovú premennú priceNumeric. Cieľom je použiť ho na uchovanie číselnej časti cenovej premennej.
Ďalej sme pomocou slučky for skontrolovali číslice každého jedného znaku v reťazci. Za týmto účelom sme najskôr načítali znaky v premennej ch pomocou indexu. Potom sme pomocou výrazu regulárneho výrazu skontrolovali, či sa znak, ktorý sme vybrali z reťazca, zhoduje s ľubovoľnou číselnou číslicou alebo nie. (Výraz „ d“ Regexu označuje zhodu s jednou číselnou číslicou.).
Potom zreťazíme a uložíme číselný reťazec do premennej priceNumeric. Po dokončení cyklu budú do tejto premennej pridané všetky vaše číselné reťazce a všetky ďalšie znaky vrátane špeciálnych znakov, abecedy atď. Budú odstránené.
Ako vieme, tento reťazec teraz obsahuje iba číselné znaky a pomocou prevodu môžeme tento reťazec transformovať na celé číslo.
Záver
V tomto tutoriáli sme sa naučili, ako môžeme previesť reťazec na celé číslo. Naučili sme sa tiež používať rôzne metódy, ktoré je možné použiť na konverziu na základe požiadavky.
Navrhované čítanie = >> Ako previesť reťazec na celé číslo v Jave A Ako previesť celé číslo na reťazec v Jave
Ďalej sme diskutovali o programe na prevod reťazcov so špeciálnymi znakmi alebo abecedami na celé číslo odstránením necelých častí. Tento príkladový program je možné vylepšiť podľa požiadaviek používateľa a možno ho použiť na získanie číselných údajov z ľubovoľného reťazca.
=> Prečítajte si C # Sprievodcu pre začiatočníkov tu
Odporúčané čítanie
- C # String Tutorial - Metódy reťazcov s príkladmi kódu
- Výukový program Java String s programom String Buffer a String Builder
- Vlákna Java s metódami a životným cyklom
- Funkcie reťazca Python
- Výukový program pre rozdelenie reťazcov Python
- Naučte sa používať triedu C # StringBuilder a jej metódy s príkladmi
- Pokročilé skriptovanie Unix Shell: polia, operátory testovania súborov a reťazcov, špeciálne premenné
- Generátor náhodných čísel C # a generátor náhodných reťazcov C # s príkladmi kódu