SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • hytchme

    hytchme

    9 Mart 2014
  • TheDamnWreckless

    TheDamnWreck

    12 Temmuz 2010