c convert string int using parse
Samouczek dotyczący konwertowania ciągu znaków na Int w C #. Nauczysz się wielu metod konwersji, takich jak Parse, TryParse i Convert w oparciu o wymagania:
Większość z nas była w takiej sytuacji od czasu do czasu, kiedy musimy przekonwertować String na typ danych całkowity.
Na przykład, powiedzmy, że otrzymuję ciąg „99” ze źródła danych (z bazy danych, danych wejściowych użytkownika itp.), ale potrzebujemy go jako liczby całkowitej do wykonywania niektórych obliczeń, tutaj najpierw musimy przekształcić go w liczbę całkowitą, zanim zaczniemy niektóre operacje arytmetyczne.
Można to zrobić na kilka sposobów i przyjrzyjmy się kilku z powszechnie stosowanych metod.
=> Sprawdź całą serię szkoleń C # tutaj
Czego się nauczysz:
- Metoda Int.Parse
- Metoda System.Convert
- metoda int.TryParse
- Przekształcanie nieliczbowego ciągu znaków na liczbę całkowitą
- Wniosek
- rekomendowane lektury
Metoda Int.Parse
Metoda Int.Parse działa jak cuda, jeśli masz pewność, że Twoja konwersja nigdy nie spowoduje błędu. Jest to jeden z najłatwiejszych i najprostszych sposobów konwersji ciągu znaków na liczbę całkowitą. Może zgłosić błąd, jeśli konwersja nie powiedzie się.
Ta metoda jest używana głównie wtedy, gdy masz liczbę całkowitą w postaci łańcucha. Na przykład, otrzymujesz ciąg znaków z danych wejściowych użytkownika, np. „99”. Wypróbujmy prosty program do konwersji tego ciągu na liczbę całkowitą.
Program
Program zajęć publicznych
{ public static void Main() { String str = '99'; int number = int.Parse(str); Console.WriteLine(number); } }
Wynik
Wynik powyższego programu:
99
Wyjaśnienie
Program zwróci wartość liczbową ciągu.
pl sql pytanie do wywiadu dla doświadczonych
Trudną częścią korzystania z metody int.Parse jest problem generowania błędu, jeśli łańcuch nie ma prawidłowego formatu, tj. Jeśli łańcuch zawiera znaki inne niż cyfry.
Jeśli obecny jest dowolny znak inny niż cyfra, ta metoda zwróci następujący błąd:
“(System.FormatException: Input string was not in a correct format.)”
Metoda System.Convert
Innym sposobem konwersji ciągu na liczbę całkowitą jest użycie metody Convert. Ta metoda nie jest tak prosta jak poprzednia, ponieważ musimy być gotowi do obsługi każdego wyjątku, który może wystąpić z powodu interakcji programu z błędnymi danymi.
Wyjątki mogą również zajmować dużo pamięci, dlatego nie jest zalecane napotykanie żadnego pożądanego lub niepożądanego wyjątku podczas przepływu wykonywania. Na przykład, jeśli wyjątek wystąpi w pętli, wyrzucenie ich zostanie zużyte dużo pamięci, a zatem spowolni to twój program.
Użycie metody Convert jest bardzo pomocne, jeśli chcesz poznać przyczynę niepowodzenia analizy. Może wychwycić wyjątek i wyświetlić szczegóły błędu.
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); } }
Wynik
„Przekonwertowana liczba całkowita to: 123”
Wyjaśnienie
W powyższym programie użyliśmy metody convert, aby przekonwertować ciąg znaków na liczbę całkowitą. Tutaj, jeśli zmienna String jest liczbowa, zostanie przekonwertowana na liczbę całkowitą, ale w przypadku błędnego ciągu i zwróci wyjątek, który będzie obsługiwany przez blok catch.
metoda int.TryParse
Jednym z najczęstszych sposobów analizowania reprezentacji ciągu na 32-bitową liczbę całkowitą jest użycie metody TryParse. Ta metoda nie uwzględnia spacji przed lub po ciągu, ale wszystkie inne znaki ciągu powinny mieć odpowiedni typ liczbowy, aby ułatwić konwersję.
Na przykład, każda spacja, alfabet lub znak specjalny w zmiennej może spowodować błąd.
Metoda TryParse przyjmuje dwa parametry, pierwszy to łańcuch, który użytkownik chce przekonwertować, a drugi to słowo kluczowe „out”, po którym następuje zmienna, w której ma zostać zapisana wartość. Zwróci wartość na podstawie powodzenia lub niepowodzenia konwersji.
TryParse(String, out var)
Przyjrzyjmy się prostemu programowi do konwersji ciągu liczbowego na liczbę całkowitą.
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); } } }
Wynik
Wartość całkowita to 999
Wyjaśnienie
W powyższym programie użyliśmy „TryParse” do konwersji ciągu liczbowego na liczbę całkowitą. Najpierw zdefiniowaliśmy zmienną łańcuchową, którą musimy przekonwertować. Następnie zainicjowaliśmy kolejną zmienną „numeric” typu integer. Następnie użyliśmy zmiennej Boolean do przechowywania wartości zwracanej przez analizę try.
Jeśli zwróci true, oznacza to, że łańcuch został pomyślnie przekonwertowany na liczbę całkowitą. Jeśli zwraca false, oznacza to, że wystąpił problem z ciągiem wejściowym. Otoczyliśmy cały fragment programu wewnątrz bloku try-catch, aby obsłużyć każdy wyjątek, który może wystąpić.
Przekształcanie nieliczbowego ciągu znaków na liczbę całkowitą
We wszystkich powyższych programach próbowaliśmy zamienić numeryczną wartość ciągu na liczbę całkowitą, ale w scenariuszu w świecie rzeczywistym przez większość czasu musimy obsługiwać ciągi zawierające znaki specjalne, alfabety wraz z cyframi. Jeśli chcemy uzyskać tylko wartość liczbową, może to być trochę trudne.
Na przykład, mamy łańcuch ceny o wartości 100 $ i musimy otrzymać cenę w postaci liczby całkowitej. W takim przypadku, jeśli spróbujemy zastosować którekolwiek z omówionych powyżej podejść, otrzymamy wyjątek.
Tego typu scenariusze można łatwo obsłużyć, używając pętli for i wyrażenia regularnego po podzieleniu ciągu na tablicę znaków.
Rzućmy okiem na program:
class Program { static void Main(string() args) { string price = '0'; string priceNumeric = ''; for(inti =0; i Wynik
Wartość liczbowa ceny to: 100
Wyjaśnienie:
W powyższym fragmencie kodu mamy zmienną cenową typu danych string. Następnie definiujemy i inicjalizujemy kolejną zmienną łańcuchową priceNumeric. Chodzi o to, aby użyć go do przechowywania numerycznej części zmiennej ceny.
Następnie użyliśmy pętli for, aby sprawdzić każdy znak w ciągu pod kątem liczb. Aby to zrobić, najpierw pobraliśmy znaki w zmiennej ch za pomocą indeksu. Następnie użyliśmy wyrażenia regularnego, aby sprawdzić, czy znak, który wybraliśmy z ciągu pasuje do dowolnej cyfry, czy nie. („ D” wyrażenie Regex oznacza dopasowanie do pojedynczej cyfry.).
Następnie konkatenujemy i przechowujemy ciąg liczbowy w zmiennej priceNumeric. Po zakończeniu pętli wszystkie ciągi numeryczne zostaną dodane do tej zmiennej, a każdy inny znak, w tym znaki specjalne, alfabety itp., Zostaną usunięte.
Jak wiemy, ten ciąg zawiera teraz tylko znaki numeryczne i możemy bezpośrednio użyć konwersji do przekształcenia tego ciągu w liczbę całkowitą.
Wniosek
W tym samouczku dowiedzieliśmy się, jak możemy przekształcić ciąg znaków w liczbę całkowitą. Nauczyliśmy się również korzystać z różnych metod, których można użyć do konwersji na podstawie wymagań.
Sugerowana lektura = >> Jak przekonwertować ciąg znaków na liczbę całkowitą w Javie I Jak przekonwertować liczbę całkowitą na ciąg w Javie
Następnie omówiliśmy program konwertujący ciągi znaków ze znakami specjalnymi lub alfabetami na liczbę całkowitą, usuwając części niecałkowite. Ten przykładowy program można modyfikować zgodnie z wymaganiami użytkownika i można go używać do pobierania danych liczbowych z dowolnego ciągu.
=> Przeczytaj przewodnik C # dla początkujących tutaj
rekomendowane lektury
- C # String Tutorial - Metody ciągów z przykładami kodu
- Ciąg Java z buforem ciągów i samouczek dotyczący tworzenia ciągów
- Wątki Java z metodami i cyklem życia
- Funkcje łańcuchowe w Pythonie
- Samouczek dotyczący dzielenia ciągów w Pythonie
- Naucz się używać klasy StringBuilder języka C # i jej metod z przykładami
- Zaawansowane skrypty powłoki Unix: tablice, operatory testów plików i łańcuchów, zmienne specjalne
- Generator liczb losowych w języku C # i generator ciągów losowych w języku C # z przykładami kodu