Javascript isSafeInteger() Metodu Kullanımı
Merhaba, bu yazımda bir javascript metodu olan isSafeInteger() fonksiyonunun kullanımıdan bahsedeceğim. Bir önceki yazıda bu fonksiyona çok benzer ve yine tam sayı kontrolü yapan isInteger() kullanımı hakkında bilgiler vermiştim.
isSafeInteger() metodu, kendisine parametre olarak verilen değerin güvenli bir tam sayı olup olmadığını kontrol ederek boolean veri türünde sonucu geriye döndürür.
Güvenli tam sayı ne demek? dediğinizi duyar gibiyim. Açıklayayım.
Normal şartlarda 4, 2, 89, 563, 12 gibi rakamlar bir tam sayıdır. 3.2, 5.67 gibi rakamlar da ondalıklı sayılardır. Buraya kadar sıkıntı yok. Bir tam sayı ile başka bir tam sayının çarpımı da her zaman tam sayıdır. Bunda da sıkıntı yok. Ancak gelişmiş yazılım dillerinde büyük tam sayı çarpımlarında ortaya çıkan sayı bazı takılar ve ondalık işaretler içerir. İşte isSafeInteger() tam olarak burada devreye girer ve sayı üzerinde gerekli kontrolü gerçekleştirir.
Tam Sayı Çarpım ve Sonuç Çıktısı;
1 2 3 4 5 6 7 8 9 10 11 12 |
<script> // isSafeInteger(); parametre olarak verilen değerin güvenli bir tamsayı olup olmadığını kontrol eder. boolean değer döndürür. var sayibir = 1234567890123; var sayiiki = 6789012345678; var carpim = sayibir * sayiiki; document.write(carpim); </script> |
Çıktı;
8.381496647622688e+24
şeklinde oldu. Gördüğünüz gibi ortada garip bir sayı var. Şimdi bu sayıları her iki fonksiyonda da test edip sonuçları görelim.
Test Örneği;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<script> // isSafeInteger(); parametre olarak verilen değerin güvenli bir tamsayı olup olmadığını kontrol eder. boolean değer döndürür. var carpimsonucu = 8.381496647622688e+24; // Tam sayı kontrolü yapıyoruz var tamsayikontrolu = Number.isInteger(carpimsonucu); document.write("Tam sayı kontrolü <br>" + tamsayikontrolu + "<br>"); // Güvenli Tam sayı kontrolü yapıyoruz var guvenlitamsayikontrolu = Number.isSafeInteger(carpimsonucu); document.write("Güvenli Tam sayı kontrolü <br>" + guvenlitamsayikontrolu); </script> |
Çıktı;
Tam sayı kontrolü
true
Güvenli Tam sayı kontrolü
false
şeklinde olacaktır. Her iki metot ile yaptığımız testte aslında iki büyük rakamın çarpımından ortaya çıkan rakamın güvenli tam sayı olmadığını anlamış olduk.
Verebileceğimiz diğer örnekler isInteger() kullanımı ile aynı olduğu için buraya tekrardan yazmak istemedim. Javascript de güvenli tam sayı kontrolü yapmak için isSafeInteger() kullanımı bu şekilde. Bir sonraki yazıda görüşmek üzere.