Yeni

Dizeleri Java'da Sayılara ve Verse Versa'ya Dönüştürme

Dizeleri Java'da Sayılara ve Verse Versa'ya Dönüştürme


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Tipik olarak bir grafik kullanıcı arayüzünde, kullanıcının sayısal bir değer girmesini bekleyen metin alanları olacaktır. Bu sayı değeri, bazı aritmetik işlem yapmak istiyorsanız programınıza gerçekten yardımcı olmayan bir String nesnesinde bitecektir. Neyse ki, bu String değerlerini sayılara dönüştürmek için yöntemler sağlayan sarıcı sınıflar vardır ve String sınıfının tekrar geri dönüştürmek için bir yöntemi vardır.

Sarıcı Sınıfları

Sayılarla (yani bayt, int, double, float, long ve short) ilgili ilkel veri türlerinin tümü sınıf eşdeğerlerine sahiptir. Bu sınıflar, ilkel bir veri türünü aldıkları ve sınıfın işlevselliği ile çevreleyen sarmalayıcı sınıfları olarak bilinir. Örneğin, Double sınıfı verileri olarak çift değere sahip olacak ve bu değeri işlemek için yöntemler sağlayacaktır.

Bu sarmalayıcı sınıflarının tümü valueOf adlı bir yönteme sahiptir. Bu yöntem bir String'i argüman olarak alır ve wrapper sınıfının bir örneğini döndürür. Örneğin, diyelim ki on değerinde bir String var:

Dize numarası = "10";

Bu sayıyı String olarak kullanmak bizim için bir yararı olmadığı için Integer sınıfını bir Integer nesnesine dönüştürmek için kullanıyoruz:

Tamsayı convertedNumber = Integer.valueOf (sayı);

Artık sayı bir String olarak değil bir sayı olarak kullanılabilir:

convertedNumber = convertedNumber + 20;

Dönüşümün doğrudan ilkel bir veri türüne gitmesini de sağlayabilirsiniz:

int convertedNumber = Integer.valueOf (number) .intValue ();

Diğer ilkel veri türleri için, doğru sarmalayıcı sınıfı olan Byte, Integer, Double, Float, Long Short öğelerine girersiniz.

Not: Dize'nin uygun veri tipine ayrıştırıldığından emin olmalısınız. Eğer başaramazsanız, bir çalışma zamanı hatası ile sonuçlanacaktır. Örneğin, "on" u bir tamsayıya dönüştürmeye çalışmak:

Dize numarası = "ten";
int convertedNumber = Integer.valueOf (number) .intValue ();

Derleyici "on" 10 olması gerektiği fikrine sahip olmadığı için bir NumberFormatException üretecektir.

Daha zekice, bir 'int' nin yalnızca tam sayılara sahip olabileceğini unutursanız aynı hata ortaya çıkar:

Dize numarası = "10.5";
int convertedNumber = Integer.valueOf (number) .intValue ();

Derleyici, sayıyı kesmez, sadece bir 'int' ye uymadığını ve bir NumberFormatException oluşturma zamanı geldiğini düşünür.

Sayıların Dizgelere Dönüştürülmesi

Bir String'de sayı yapmak için, String sınıfının bir valueOf yöntemi de olduğu gibi aynı desen türünü izler. İlkel veri türü numaralarından herhangi birini argüman olarak alabilir ve bir String üretebilir:

int sayıTwenty = 20;

Dönüştürülen dize = String.valueOf (numberTwenty);

hangi "20" yi değiştirilen String değeri olarak koyar.

veya sarmalayıcı sınıflarından herhangi birinin toString yöntemini kullanabilirsiniz:

Dönüştürülen dize = Integer.toString (numberTwenty);

ToString yöntemi tüm nesne türleri için ortaktır - çoğu zaman yalnızca bir nesnenin açıklamasıdır. Sarıcı sınıfları için bu açıklama içerdikleri gerçek değerdir. Bu yönde, dönüşüm biraz daha sağlamdır. Tamsayı yerine Double sınıfı kullanılacaksa:

Dönüştürülen dize = Double.toString (numberTwenty);

sonuç çalışma zamanı hatasına neden olmaz. Dönüştürülen değişken "20.0" Stringini içerecektir.

Dizeleri birleştirirken sayıları dönüştürmenin daha ince bir yolu da vardır. Eğer bir String şöyle inşa edilecekse:

String aboutDog = "Köpeğim" + numberTwenty + "yaşında.";

int sayıTwenty dönüşüm otomatik olarak yapılır.


Video, Sitemap-Video, Sitemap-Videos