c convert string int using parse
C # 'da Dizeyi Int'e Dönüştürme Eğitimi. Gereksinimlere Göre Ayrıştırma, TryParse ve Dönüştürme gibi Çoklu Dönüşüm Yöntemlerini Öğreneceksiniz:
Bir String'i bir tamsayı veri türüne dönüştürmemiz gerektiğinde, çoğumuz arada bir bu durumdayız.
Örneğin, Diyelim ki bir veri kaynağından (veri tabanından, kullanıcı girdisinden, vb.) bir '99' dizisi aldım, ancak bazı hesaplamaları yapmak için buna tamsayı olarak ihtiyacımız var, burada, başlamadan önce onu bir tam sayıya dönüştürmemiz gerekecek bazı aritmetik işlemler.
Bunu yapmanın birkaç yolu vardır ve hadi yaygın olarak kullanılan yöntemlerden birkaçına bakalım.
=> Tam C # Eğitim Serisine Buradan Göz Atın
Ne öğreneceksin:
- Int.Parse Yöntemi
- System.Convert Yöntemi
- int. TryParse Yöntemi
- Sayısal Olmayan Dizeyi Tam Sayıya Dönüştürme
- Sonuç
- Önerilen Kaynaklar
Int.Parse Yöntemi
Int.Parse yöntemi, dönüştürmenizin asla bir hata vermeyeceğinden eminseniz harikalar gibi çalışır. Bu, bir dizeyi tam sayıya dönüştürmenin en kolay ve en basit yollarından biridir. Dönüştürme başarılı olmazsa bir hata verebilir.
Bu yöntem esas olarak dizge biçiminde bir tamsayınız olduğunda kullanılır. Örneğin, '99' gibi bir kullanıcı girişinden bir dizi rakamı alırsınız. Bu dizeyi bir tam sayıya dönüştürmek için basit bir program deneyelim.
Program
public class Programı
{ public static void Main() { String str = '99'; int number = int.Parse(str); Console.WriteLine(number); } }
Çıktı
Yukarıdaki programın çıktısı:
99
Açıklama
dizileri java'daki yöntemlere geçirmek
Program dizenin sayısal değerini döndürecektir.
cevaplarla sql sorguları uygulama soruları
İnt.Parse yöntemini kullanmanın zor kısmı, dizge doğru biçimde değilse, yani bir dizge sayılardan başka herhangi bir karakter içeriyorsa bir hata atma sorunudur.
Sayı dışında herhangi bir karakter varsa, bu yöntem aşağıdaki hatayı verir:
“(System.FormatException: Input string was not in a correct format.)”
System.Convert Yöntemi
Bir dizeyi tam sayıya dönüştürmenin başka bir yolu da Convert yöntemini kullanmaktır. Bu yöntem, programın hatalı verilerle etkileşime girmesi nedeniyle meydana gelebilecek herhangi bir istisnayı ele almaya hazır olmamız gerektiğinden, önceki yöntem kadar basit değildir.
İstisnalar ayrıca çok fazla bellek tüketebilir, bu nedenle yürütme akışı sırasında istenen veya istenmeyen istisnalarla karşılaşmanız tavsiye edilmez. Örneğin, bir döngüde bir istisna meydana gelirse, onları atmak için çok fazla bellek tüketilecek ve bu nedenle programınızı yavaşlatacaktır.
Ayrıştırma başarısızlığının arkasındaki nedeni bilmek istiyorsanız, Dönüştür yöntemini kullanmak oldukça yararlıdır. İstisnayı yakalayabilir ve hata ayrıntılarını gösterebilir.
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); } }
Çıktı
'Dönüştürülen int: 123'
Açıklama
Yukarıdaki programda, bir dizeyi tam sayıya dönüştürmek için convert yöntemini kullandık. Burada String değişkeni sayısal ise, tamsayıya dönüştürülecek, ancak hatalı bir dizge olması durumunda, catch bloğu tarafından işlenecek bir istisna oluşturacaktır.
int. TryParse Yöntemi
Bir dize gösterimini 32 bitlik bir tam sayıya ayrıştırmanın en yaygın yollarından biri, TryParse yöntemini kullanmaktır. Bu yöntem, dizeden önce veya sonra herhangi bir boş alanı dikkate almaz, ancak diğer tüm dize karakterleri, bir dönüşümü kolaylaştırmak için uygun bir sayısal türde olmalıdır.
Örneğin, değişken içindeki herhangi bir beyaz boşluk, alfabe veya özel karakter bir hataya neden olabilir.
TryParse yöntemi iki parametreyi kabul eder, ilki kullanıcının dönüştürmek istediği dizedir ve ikinci parametre 'out' anahtar kelimesidir ve ardından değeri saklamak istediğiniz değişkendir. Dönüşümün başarısına veya başarısızlığına bağlı olarak bir değer döndürür.
TryParse(String, out var)
Sayısal bir dizeyi tam sayıya dönüştürmek için basit bir programa bakalım.
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); } } }
Çıktı
Tamsayı değeri 999'dur
Açıklama
Yukarıdaki programda, sayısal dizeyi bir tam sayıya dönüştürmek için 'TryParse' kullandık. İlk önce dönüştürmemiz gereken bir dize değişkeni tanımladık. Daha sonra tamsayı türünde başka bir 'sayısal' değişkeni başlattık. Daha sonra, try ayrıştırmasının dönüş değerini saklamak için bir Boolean değişkeni kullandık.
True döndürürse, dizenin başarıyla bir tam sayıya dönüştürüldüğü anlamına gelir. Yanlış döndürürse, giriş dizesiyle ilgili bazı sorunlar vardır. Meydana gelebilecek istisnaları işlemek için tüm program parçacığını try-catch bloğunun içine çevirdik.
Sayısal Olmayan Dizeyi Tam Sayıya Dönüştürme
Yukarıdaki tüm programlarda sayısal dizgi değerini tam sayıya dönüştürmeye çalıştık, ancak gerçek dünya senaryosunda çoğu zaman özel karakterler, harfler ve rakamlar içeren dizeleri işlememiz gerekiyor. Yalnızca sayısal değeri elde etmek istiyorsak, bu biraz zor olabilir.
Örneğin, 100 $ değerinde bir fiyat dizgimiz var ve fiyatı tamsayı olarak almamız gerekiyor. Bu durumda, yukarıda tartışılan yaklaşımlardan herhangi birini kullanmaya çalışırsak, bir istisna elde ederiz.
Bu tür senaryolar, bir dizeyi bir karakter dizisine böldükten sonra bir for döngüsü ve normal ifade kullanarak kolayca işlenebilir.
Programa bir göz atalım:
class Program { static void Main(string() args) { string price = '0'; string priceNumeric = ''; for(inti =0; i Çıktı
Fiyat sayısal değeri: 100
Açıklama:
java'da bir dizi nesne yapabilir misin
Yukarıdaki kod parçasında, dize veri türünde bir fiyat değişkenimiz var. Sonra başka bir string değişken olan priceNumeric'i tanımlar ve başlatırız. Buradaki fikir, fiyat değişkeninin sayısal kısmını tutmak için kullanmaktır.
Ardından, dizedeki her bir karakteri sayılar için kontrol etmek için bir for döngüsü kullandık. Bunu yapmak için önce indeks kullanarak ch değişkenindeki karakterleri getirdik. Daha sonra dizeden seçtiğimiz karakterin herhangi bir sayısal rakamla eşleşip eşleşmediğini kontrol etmek için regex ifadesini kullandık. (Regex'in “ d” ifadesi, tek bir sayısal rakamla eşleşmeyi gösterir.).
Ardından sayısal dizgeyi birleştirip priceNumeric değişkenine kaydediyoruz. Döngü bittiğinde, tüm sayısal dizeleriniz bu değişkene eklenecek ve özel karakterler, alfabeler vb. Dahil diğer tüm karakterler kaldırılacaktır.
Bildiğimiz gibi, bu dizge artık yalnızca sayısal karakterleri içeriyor ve bu dizgeyi bir tam sayıya dönüştürmek için doğrudan dönüştürmeyi kullanabiliriz.
Sonuç
Bu eğitimde, bir dizeyi tam sayıya nasıl dönüştürebileceğimizi öğrendik. İhtiyaca göre dönüştürme için kullanılabilecek farklı yöntemleri kullanmayı da öğrendik.
Önerilen okuma = >> Java'da String'i Tamsayıya Dönüştürme Ve Java'da Tamsayıyı Dizeye Dönüştürme
Daha sonra, özel karakterli veya alfabeli dizeleri tam sayı olmayan kısımları kaldırarak tam sayıya dönüştürmek için bir program tartıştık. Bu örnek program, kullanıcı gereksinimine göre ayarlanabilir ve herhangi bir dizeden sayısal verileri almak için kullanılabilir.
=> Yeni Başlayanlar İçin C # Kılavuzunu Buradan Okuyun
Önerilen Kaynaklar
- C # Dize Eğitimi - Kod Örnekleriyle Dize Yöntemleri
- String Buffer ve String Builder Eğitimi ile Java String
- Yöntemler ve Yaşam Döngüsü İçeren Java Konuları
- Python Dizesi İşlevleri
- Python String Split Eğitimi
- C # StringBuilder Sınıfını ve Yöntemlerini Örneklerle Kullanmayı Öğrenin
- Gelişmiş Unix Kabuk Komut Dosyası: Diziler, Dosya ve Dize Test Operatörleri, Özel Değişkenler
- Kod Örnekleriyle C # Rastgele Sayı ve C # Rastgele Dize Oluşturucu