Radix aslında ne anlama geliyor? Neden buna ihtiyacımız var?
parseInt(10, radixValue);
Radix aslında ne anlama geliyor? Neden buna ihtiyacımız var?
parseInt(10, radixValue);
Yanıtlar:
Tamsayıyı her zaman 10 tabanına ayırmak istemeyebilirsiniz, bu nedenle tabanı sağlamak, diğer sayı sistemlerini belirlemenize izin verir.
Radix, tek bir basamak için değer sayısıdır. Hexidecimal 16 olur. Sekizli 8 olur, İkili 2 olur ve bu böyle devam eder ...
In parseInt()fonksiyonu, bunu tedarik etmeden radix ima etmek için yapabileceğiniz birkaç şey vardır. Kullanıcı kurallardan biriyle eşleşen ancak açıkça ifade etmediği bir dize giriyorsa bunlar da aleyhinize olabilir. Örneğin:
// Numbers with a leading 0 used a radix of 8 (octal) before ECMAScript 5.
// These days, browsers will treat '0101' as decimal.
var result = parseInt('0101');
// Numbers that start with 0x use a radix of 16 (hexidecimal)
var result = parseInt('0x0101');
// Numbers starting with anything else assumes a radix of 10
var result = parseInt('101');
// Or you can specify the radix, in this case 2 (binary)
var result = parseInt('0101', 2);
parseInt('0101')şimdi geri dönüyor 101. Farklı tarayıcıların farklı davranışları olabilir. Güvenilir sonuçlar için daima tabanı dahil edin.
parseInt(x, 0)şu anda hatırlayamadığım bir nedenle kullandım .. Bu parseInt(x, 10)şu anda merak
Çünkü gibi bir dize numaranız varsa 0700ve çıktının tamsayı olmasını 700istiyorsanız parseInt(), bunun sekizlik yerine ondalık bir sayı olduğunu bildirmeniz gerekir .
console.log(parseInt("0700"));
// 448
// I really wanted decimal (base 10)
console.log(parseInt("0700", 10));
// 700
// What is this? Binary, Decimal, Octal?
console.log(parseInt("0110"));
// 72
// as binary
console.log(parseInt("0110", 2));
// 6
0oyerine0
Radix, bir numaralandırma sisteminin temelidir. Sonsuz sayıda sayısal sistem vardır, ancak çoğu insanın aşina olduğu sistem 10 tabanı (ondalık) ve 2 tabanı (ikili).
Sayısal değerler, farklı temellerde farklı yorumlanabilir. Örneğin, ikilik tabandaki 10 sayısı, ondalık tabanda 2 olarak gösterilebilir.
Durumunda parseInt(), sayı tabanı kullanılacak söz konusu üssü belirlemenizi sağlar. Varsayılan olarak, 10 tabanı kullanılır.
Ancak, taban 10 kullanılırken bile, taban her zaman belirtilmelidir.
parseInt("010") // 8 döndürür
İlk bakışta, ifadenin 10 döndürmesini bekleyebilirsiniz. Radix'in açık kullanımı kafa karışıklığını önlemeye yardımcı olacaktır:
parseInt("010", 10) // Döndürür: 10
Kök, sayı sisteminin temel numarasıdır: http://en.wikipedia.org/wiki/Radix
Normalde, tabanı yalnızca 10'dan farklı olmasını istiyorsanız belirtmeniz gerekir. Daha spesifik olarak ( http://www.w3schools.com/jsref/jsref_parseInt.asp adresinden ):
Radix parametresi atlanırsa, JavaScript aşağıdakileri varsayar:
Dize "0x" ile başlıyorsa, taban 16'dır (onaltılık) Dize "0" ile başlıyorsa, taban 8'dir (sekizlik). Bu özellik kullanımdan kaldırılmıştır Eğer dizi başka bir değerle başlıyorsa, radix 10'dur (ondalık)
Sadece soruyu net bir şekilde yanıtlayan bazı ek bilgiler eklemek:
Radix tanımsızsa veya 0 ise (veya yoksa), JavaScript aşağıdakileri varsayar:
Kaynak: MDN parseInt ()
Bu sadece benim fikrim, ancak "radix kullanmamız gerektiği" fikri hızla modası geçmiş hale geliyor. Sorun gerçekten bir süre önce gerçekti çünkü BT dünyasının dışındaki insanlar genellikle ondalık sayılar dışında sayı gösterimleri kullanmazlar ve çoğu zaman "010" gibi sıfır dolgulu ondalık sayılar sağlarlar. Ancak, JS'de ECMAScript 6 sekizlik sayılar, ECMAScript 5 ve 3'te olduğu gibi sadece "0" değil, "0o" ile öneklendiğinden, IE ailesini hedeflemezseniz (bu şu anda nadir bir durum değildir) radix'i atlayabilirsiniz. güvenli bir şekilde.
Radix parametresi, hangi sayı sisteminin kullanılacağını belirtmek için kullanılır, örneğin, 16'lık bir tabanda (onaltılık), dizedeki sayının onaltılık bir sayıdan onluk bir sayıya ayrıştırılması gerektiğini belirtir.
Radix parametresi atlanırsa, JavaScript aşağıdakileri varsayar:
Dize "0x" ile başlıyorsa, taban 16'dır (onaltılık)
Dize "0" ile başlıyorsa, radix 8'dir (sekizlik). Bu özellik kullanımdan kaldırıldı
Dize başka bir değerle başlıyorsa, radix 10'dur (ondalık)
Kaynak W3Schools
PaseInt () ' de radix nedir ?
parseInt()Fonksiyonu bir dizi ayrıştırır ve bir tamsayı döndürür. Bu için ikinci argüman alır radix , dizede sayı tabanını belirtir . Sayı tabanı arasında bir tam sayı olabilir 2ve 36.
İşlev çağrısı şöyle görünür (Sözdizimi):
parseInt(string, radix);
Radix kavramını açıklığa kavuşturmak için bazı örnekler
Örnek 1:
var a = parseInt("11", 2);
Sayı tabanı değişkeni "11" olduğunu söylüyor ikili sistemi veya baz 2 . Bu nedenle, bu örnek "11" dizesini 3 tam sayıya dönüştürür.
Örnek 2:
var a = parseInt("10011", 16);
Burada radix , bunun onaltılık bir sayıparseInt() olduğunu söyler ve bu nedenle tamsayı olarak,1001165553
Temel olarak, uzun lafın kısası, radix argümanı, parseInt()1. parametre olarak aktarılan dizenin belirli bir sisteme (ikili, onaltılık vb.) Ait olduğunu ve son ürün olarak bir tam sayıya dönüştürülmesi gerektiğini söyler .