Javascript Metini Sayıya Çevirme

Javascript Metini Sayıya Çevirme

Uygulama geliştirirken metin olarak gelen verileri sayıya çevirmek gerekebilir. Bu durumda Javascript bir çok yöntem kullanmamıza izin verir. Şimdi string değişkeni nasıl sayıya çevirebileceğimizi inceleyelim.

+ Operatörü Kullanarak Stringi Sayıya Çevirme

Javascript ile metini sayıya çevirmek için kullanacağımız ilk yöntemi görelim. Eğer bir string değişkeni sayıya çevirecek olursak önüne bir + işareti koymamız yeterli olacaktır. Örnek vermek gerekirse


let fiyat = "1000";

let rakamFiyat = +fiyat;

console.log(typeof rakamFiyat);
// Konsola
// number
// yazdıracaktır.

Tip dönüştürürken dikkat edilmesi gereken husus, string değişkenin içeriğinin bir sayıya dönüşebilir olmasıdır.

Eğer “1000a” şeklinde bir stringi sayıya dönüştürmek istersek sonuç NaN olarak dönecektir.

Number Metodu İle Bir Metini Sayıya Çevirme

Bir string değişkeni rakama çevirmek için kullanabileceğimiz diğer yöntem ise Number fonksiyonunu kullanmaktır. Kullanım şekli

const sayi = Number(stringIfase);

şeklindedir. Girilen değerin bir sayı formatında olması gereklidir. Aksi halde NaN sonucunu dönderir. Örnek kullanımı

const fiyat = Number("55");

şeklindedir.

parseInt Yöntemi İle Yazıyı Sayıya Çevirme

Diğer bir yöntem ise Javascript parseInt fonksiyonudur. Bu fonksiyon verilen değişken derini tamsayıya çevirir. Yazım biçimi

parseInt(degisken);
parseInt(degisken, sayiSistemi);

şeklindedir. Girilen değer tam sayıya çevrilebilir ise o değeri tam sayı olarak geri dönderir. Aksi halde NaN değeri geri döner.

const sonuc = parseInt("234222.22");
console.log(sonuc);
// Konsola
// 234222
// yazdırır.

Örnekte girdiğimiz değer kesirli bir sayı olduğu halde sonucun tamsayı olduğuna dikkat edelim.

const fiyat = parseInt("325TL");
console.log(fiyat);
// Konsola
// 325
// yazdırır.

Eğer girilen değerin sonunda sayıya çevrilmeyen bir ifade varsa, bu örneğimizde TL şeklinde, böyle bir durumda değerin sayı olan ilk bölümü geri dönderirlir. Diğer bölümler yok sayılır.

const sayac = parseInt("a241");
// sayac değeri
// NaN 
// olacaktır.

Eğer girilen ifadenin başında sayıya çevrilemeyen bir ifade varsa ifade NaN olarak sonuç dönderir.

Yine ikinci kullanımda sayı sistemini de belirtebiliriz. Öntanımlı olarak bu değeri 10luk sayı sistemidir.

const fiyat = parseInt("500", 10);
// sayının onluk sistemde olduğunu belirtir
// sonuç 500 olacaktır

const fiyat = parseInt("250", 8);
// sayının sekizlik sistemde olduğunu belirtir
// sonuç 168 olacaktır.

const ikilik = parseInt("01101", 2);
// sayının ikilik sistemde olduğunu belirtir
// sonuç 13 olacaktır.

Math.floor Yöntemi İle Yazıyı Sayıya Çevirme

Math.floor girilen kesirli sayıyı noktadan sonraki bölümü silerek tam sayıya çevirir. Girilen değer bir string olabilir.

const sonuc = Math.floor("125.5");
// sonuç değişkeninin değeri 125 olacaktır.

const fiyat = Math.floor("155.9");
// fiyat değişkeninin değeri 155 olacaktır.

parseFloat Fonksiyonu İle Yazıyı Sayıya Çevirme

Eğer elimizdeki değerin kesirli bir sayı olmasını istiyorsak bu durumda parseFloat fonksiyonunu kullanabiliriz.

const fiyat = parseFloat("325.49");
// fiyat değişkeninin değeri 325.49 olur.

const sonFiyat = parseFloat("76.99TL");
// sonFiyat değişkenin değeri 76.99 olur
// sayı sonrası gelen metinler görmezden gelinir.

const sonuc = parseFloat("$45.99");
// sonuc değişkeninin değeri NaN olur.
// sayının önünde eğer sayıya çevrilmeyen bir 
// metin varsa parseFloat NaN değerini dönderir.

Math.round Fonksiyonu İle String Sayı Dönüşümü Yapma

Math.round fonksiyonu girilen kesirli sayıyı yuvarlar. Eğer kesirli sayı .5 ten küçükse sayı aşağıda, eğer sayı .5 e eşit veya büyükse sayı yukarıya yuvarlanır. Girilen değer eğer string ise ayrıca string sayı dönüşümü de yapılır.

const sonuc = Math.round("45.49");
// sonuc değişkeninin değeri 45 olur

const fiyat = Math.round("99.75");
// fiyat değişkeninin değeri 100 olur

Sonuç

Yukarıda saydığımız ve yine saymadığımız bir çok yöntem ile Javascript metin ifadeleri sayıya çevirebilir. Bunlardan ihtiyacımız olanı kullanabiliriz

Sormak istediğiniz soruları yorumlara ekleyebilirsiniz.

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir