5 Temmuz 2012, PERŞEMBE
Neden parseınt(1/0, 19) 18 döner?
JavaScript sinir bozucu bir sorunum var.
> parseInt(1 / 0, 19)
> 18
Neden parseInt
18
döner?
CEVAP
5 Temmuz 2012, PERŞEMBE
1/0
sonucu Infinity
.
parseInt
Infinity.toString()
öncelikle, dize üreten anlamına gelir. "Infinity"
bir dize olarak ilk bağımsız değişken davranır. Eğer ondalık Bankası 19 "Infinity"
dönüştürmek istediği gibi çalışıyor.
Burada ondalık değerleri ile birlikte Bankası 19 basamak:
Base 19 Base 10 (decimal)
---------------------------
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
a 10
b 11
c 12
d 13
e 14
f 15
g 16
h 17
i 18
Ne olur yanındaki parseInt
tarar giriş "Infinity"
bulmak için hangi bölümü olabilir ayrıştırılır ve durduktan sonra kabul edilen ilk I
(n
geçerli bir rakam Bankası 19).
Bu nedenle eğer bu tabloya göre 18 ondalık dönüştürür parseInt("I", 19)
, yukarıda denilen gibi davranır.
Bunu Paylaş:
Neden Çift.(null) parseDouble ve Tamsa...
Neden sıralanmamış bir dizi daha hızlı...
Neden bu iki kez (1927) garip bir sonu...
Neden HTML düşün” renk? “chucknorris m...
Neden Google while(1); JSON yanıtların...