Sobes.tech
Junior

Kuidas JavaScriptis stringi numbriks muuta?

sobes.tech AI

Vastus AI-lt

JavaScriptis stringi konvertēt uz skaitli var vairākos veidos:

  • Nepārprotama tipu pārvēršana:

    • Matemātisko operatoru izmantošana: piemēram, vienkāršais plus + vai atņemšana -.
    // Nepārprotama pārvēršana ar vienkāršo plusu
    let str = "123";
    let num = +str; // num = 123 (skaitlis)
    
    • Matemātisko operāciju izmantošana: JavaScript mēģinās pārvērst operandus skaitļos.
    // Nepārprotama pārvēršana ar atņemšanu
    let str1 = "10";
    let str2 = "5";
    let result = str1 - str2; // result = 5 (skaitlis)
    
  • Skaidra tipu pārvēršana:

    • parseInt(string, radix): pārvērš tekstu veselos skaitļos. Otrā argumenta radix (skaitļu sistēmas bāze) ieteicams norādīt, lai izvairītos no neparedzētiem rezultātiem.
    // Skaidra pārvēršana ar parseInt
    let strInt = "42px";
    let numInt = parseInt(strInt, 10); // numInt = 42 (vesels skaitlis)
    
    let strBinary = "101";
    let numBinary = parseInt(strBinary, 2); // numBinary = 5 (vesels skaitlis)
    
    • parseFloat(string): pārvērš tekstu ar peldošo punktu skaitlī. Tas analizē tekstu līdz pirmajam ne-skaitļa simbolam vai punktam.
    // Skaidra pārvēršana ar parseFloat
    let strFloat = "3.14abc";
    let numFloat = parseFloat(strFloat); // numFloat = 3.14 (peldošais skaitlis)
    
    • Number(value): pārvērš jebkuru vērtību skaitlī. Tas ir stingrāks pieejas veids nekā parseInt un parseFloat. Ja teksts nevar pilnībā tikt pārvērsts skaitlī, tas atgriež NaN.
    // Skaidra pārvēršana ar Number
    let strNum = "123.45";
    let numFromNumber = Number(strNum); // numFromNumber = 123.45 (skaitlis)
    
    let strInvalid = "hello";
    let numInvalid = Number(strInvalid); // numInvalid = NaN
    

Atšķirības un īpatnības:

Metode Apraksts Atgriež nepareizu tekstu Analizē no sākuma līdz pirmajam ne-skaitļa simbolam
+string Nepārprotama pārvēršana ar vienkāršo plusu. NaN (visa rinda)
string - 0 Nepārprotama pārvēršana ar atņemšanu. NaN (visa rinda)
parseInt() Analizē visu skaitli. NaN
parseFloat() Analizē peldošo punktu skaitli. NaN
Number() Skaidra pārvēršana. Stingrāka. NaN (visa rinda)

Metodes izvēle ir atkarīga no konkrētās uzdevuma un sagaidāmā ievades teksta formāta. Number() ir ieteicams pārvērst tekstus, kas atbilst veseliem vai peldošiem skaitļiem bez liekiem simboliem. parseInt() un parseFloat() ir noderīgi skaitļu iegūšanai no teksta, kas satur papildu simbolus (piemēram, mērvienības). Nepārprotama pārvēršana jālieto uzmanīgi, saprotot tās uzvedību.