Son zamanlarda, bir proje geliştirirken garip bir sorun yaşadım, parseInt (0.0000005) === 5😱. Normalde, 0 çıkışı doğrudur, ancak neden 5? Gelin bu sorunu birlikte inceleyelim.
Her şeyden önce, genellikle ne zaman kullanırsın parseInt? Çoğu zaman, onu bir dizgeyi ayrıştırmak ve tamsayı kısmını döndürmek için kullanırız . Bu soru ile birlikte parseInt metoduna bir göz atalım.
parseInt(string, radix) işlevi, bir dize bağımsız değişkenini ayrıştırır ve belirtilen tabanın (matematiksel sayı sistemlerinde taban) bir tamsayısını döndürür.
Sözdizimi
parseInt(string)
parseInt(string, radix)
parseInt('0.5') // 0
parseInt('0.5') // 0
parseInt('0.05') // 0
parseInt('0.005') // 0
parseInt('0.0005') // 0
parseInt('0.00005') // 0
parseInt('0.000005') // 0
parseInt('015') // 15
parseInt('015', 8) // 13
parseInt('15px', 10) // 15
parseInt'in ilk parametresi bir sayı olduğunda nasıl ayrıştırılır?
Gerçeği parseInt(0.0000005) === 5de burada...
stringBunların her birinin çıktısının ne olduğunu görmek için String işlevini kullanarak dize tabanlı değerleri kontrol edelim:
String(0.5); // => '0.5'
String(0.05); // => '0.05'
String(0.005); // => '0.005'
String(0.0005); // => '0.0005'
String(0.00005); // => '0.00005'
String(0.000005); // => '0.000005'
String(0.0000005); // => '5e-7' pay attention here
Yani, kullandığımızda parseInt(0.0000005), şu anlama eşittir parseInt('5e-7')ve tanıma dayalıdır:
parseInt, dizenin yalnızca baştaki bir bölümünü bir tamsayı değeri olarak yorumlayabilir; bir tamsayı gösteriminin parçası olarak yorumlanamayan herhangi bir kod birimini yok sayar ve bu tür herhangi bir kod biriminin yok sayıldığına dair hiçbir belirti verilmez.
parseInt(0.0000005)
parseInt('5e-7') // 5
Aşağıdaki Math.floor() işlevi önerilir:
Math.floor(0.5); // => 0
Math.floor(0.05); // => 0
Math.floor(0.005); // => 0
Math.floor(0.0005); // => 0
Math.floor(0.00005); // => 0
Math.floor(0.000005); // => 0
Math.floor(0.0000005); // => 0
parseInt(99999999999999999999999999)Şimdi, neden 1'e eşit olduğunu açıklayabilir misiniz ?
Okuduğunuz için teşekkürler.
PlainEnglish.io'da daha fazla içerik . Ücretsiz haftalık bültenimize kaydolun . Bizi Twitter ve LinkedIn'de takip edin . Topluluğumuza katılın Discord .
Her rasyonel akıl, siyaset ve medya çevrelerinde solun, hatta aşırı solun hakim olduğunu bilir, bu durum siyasi söylemde bir dengesizlik yaratır. Din alanında, bu dengesizlik açıkça görülüyor: solcu gazeteler ve ağlar, Hıristiyan inancını savunmak için acele etmiyorlar.
facebook.com'a bir talepte bulunduğunuzda, bilgisayarınız o bağlantıyı kurabilmesi için bu alan adını bir IP adresine çevirmek üzere alan adını arar.
(Uyarı- Bu Hiciv, Neşeyle Yıkıcı Olma Amaçlıdır- Kesinlikle çocuklar için değildir) Annenizi ve babanızı mutfakta saklanıp o kokulu sigaraları içerken gördünüz. Sana söylerler.
Günümüzün hızlı tempolu ve rekabetçi dünyasında, kişinin kariyeri kişisel gelişim, finansal istikrar ve genel yaşam memnuniyetinde önemli bir rol oynamaktadır. Bununla birlikte, birçok kişi profesyonel yaşamlarında giderek tükenmekte olan amansız bir durgunluk ve tatminsizlik döngüsüne kapılmış durumda.
Günümüzün birbirine bağlı dünyasında, siber saldırı tehdidi her zamankinden daha yaygın. Siber suçlular ve ulus-devlet aktörleri sürekli olarak güvenlik açıklarından yararlanmaya ve değerli verileri çalmaya çalışarak her büyüklükteki kuruluş için önemli bir risk oluşturuyor.
[Tetik uyarısı: Bu makale, Jordan Neely'nin katilini öven insanların ekran görüntülerini içerir.] Kolluk kuvvetleri nihayet - ve belki de isteksizce - Jordan Neely'yi ölene kadar boğan Daniel Penny'yi bu cinayetle suçladı.