SORU
6 EKİM 2008, PAZARTESİ


Eğer bir dize geçerli bir sayı olup olmadığını kontrol etmek için JavaScript (dahili) bir yolu var mı?

Eski VB6 Isnumerıc aynı kavramsal alan içinde bir şey var umuyorum() fonksiyonu?

CEVAP
6 EKİM 2008, PAZARTESİ


Eğer bir numara ise eğer bir değişken (dize dahil) bir sayı olup olmadığını kontrol etmek için, kontrol edin:

Bu değişken içerip içermediğini dize veya bir sayı ne olursa olsun çalışır.

isNaN(num)     // returns true if the variable does NOT contain a valid number

Örnekler:

isNaN(123)       // false
isNaN('123')     // false
isNaN('1e10000') // false  (number is Infinity)
isNaN('foo')     // true
isNaN('10px')    // true

Tabii ki, eğer gerekiyorsa bu inkar edebilirsiniz. Örneğin, IsNumeric örnek uygulamak verdi:

function isNumeric(num){
    return !isNaN(num)
}

Bir dize, bir sayı, bir sayı içeren dönüştürmek için:

dize çalışır sadecesadecesayısal karakterler içeriyor, başka NaN döndürür.

 num              // returns the numeric value of the string, or NaN if the 
                  // string isn't purely numeric characters

Örnekler:

 '12'             // 12
 '12.'            // 12
 '12..'           // Nan
 '.12'            // 0.12
 '..12'           // Nan
 'foo'            // NaN
 '12px'           // NaN

Bir dize gevşek bir sayıya dönüştürmek için

dönüştürme '12px' 12, örneğin için. için yararlı

parseInt(num)     // extracts a numeric value from the 
                  // start of the string, or NaN.

Örnekler:

parseInt('12', 10)    // 12
parseInt('aaa', 10)   // NaN
parseInt('12px', 10)  // 12
parseInt('foo2', 10)  // NaN      These last two may be different
parseInt('12a5', 10)  // 12       from what you expected to see. 

Yüzer

Aklınızda bulundurun, aksine num, parseInt (adından da anlaşılacağı gibi) dönüştürmek bir şamandıra içine bir tamsayı tarafından parçalamaktan her şeyi aşağıdaki ondalık noktası (kullanmak isterseniz parseInt()çünkübu davranış, muhtemelen 22 ** yerine) sen iyisi mi:

parseInt(12.345, 10)   // 12
parseInt('12.345', 10) // 12
 '12.345'          // 12.345

Boş dizeler

Boş dizeler biraz mantığa aykırı olabilir. num sıfır boş dizeleri dönüştürür, ve isNaN() aynı varsayar:

 ''                // 0
isNaN('')          // false

Ama parseInt() kabul etmez:

parseInt('', 10)       // NaN

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 1881 Animation

    1881 Animati

    5 EKİM 2013
  • funbro1

    funbro1

    11 Aralık 2007
  • Richard Laxa

    Richard Laxa

    30 AĞUSTOS 2012