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

  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011