Burada diğer cevapların gösterdiği gibi, dönüşümü yapmanın birden çok yolu vardır:
Number('123');
+'123';
parseInt('123');
parseFloat('123.45')
parseIntYine de bir şeyden daha bahsetmek istiyorum .
Kullanırken parseInt, daima radix parametresini geçmek mantıklıdır . Ondalık dönüşüm için 10. Bu nedenle parametresi için varsayılan değerdir olabilir atlanabilir. İkili için, bir 2ve 16onaltılıktır. Aslında, 2 ile 36 arasında herhangi bir yarıçap çalışır.
parseInt('123') // 123 (don't do this)
parseInt('123', 10) // 123 (much better)
parseInt('1101', 2) // 13
parseInt('0xfae3', 16) // 64227
parseIntFonksiyonu, iyi, sayılara dönüştürmek için dizeleri ayrıştırır. Bazı JS uygulamalarında, parseIntönde gelen sıfırları sekizlik olarak ayrıştırır:
ECMAScript 3 tarafından önerilmemesine ve ECMAScript 5 tarafından yasaklanmasına rağmen, birçok uygulama, 0 başından başlayarak sayısal bir dizgiyi sekizlik olarak yorumlar. Aşağıdakilerin sekizlik bir sonucu olabilir veya ondalık bir sonucu olabilir. Bu güvenilmez davranışı önlemek için her zaman bir sayı tabanı belirleyin.
- MDN
Kodun daha açık olması, radix parametresini belirtmenin hoş bir yan etkisidir.
Yana parseFloatsadece tabanda 10 sayısal ifadeler ayrıştırır, burada bir sayı tabanı parametresi için gerek yoktur.
Bu konuda daha fazlası: