Sobes.tech
Junior

Kaip JavaScript'e paversti eilutę į skaičių?

sobes.tech AI

Atsakymas iš AI

JavaScript'e eilutės konvertavimas į skaičių gali būti atliekamas keliais būdais:

  • Nepriklausomas tipų konvertavimas:

    • Matematinių operatorių naudojimas: pavyzdžiui, viengubas pliusas + arba atėmimas -.
    // Nepriklausomas konvertavimas naudojant viengubą pliusą
    let str = "123";
    let num = +str; // num = 123 (skaičius)
    
    • Matematinių operacijų naudojimas: JavaScript bandys konvertuoti operandus į skaičius.
    // Nepriklausomas konvertavimas naudojant atėmimą
    let str1 = "10";
    let str2 = "5";
    let result = str1 - str2; // result = 5 (skaičius)
    
  • Aiškus tipų konvertavimas:

    • parseInt(string, radix): konvertuoja eilutę į sveikąjį skaičių. Antrasis argumentas radix (skaičiavimo sistema) rekomenduojama nurodyti, kad išvengtumėte netikėtų rezultatų.
    // Aiškus konvertavimas naudojant parseInt
    let strInt = "42px";
    let numInt = parseInt(strInt, 10); // numInt = 42 (sveikas skaičius)
    
    let strBinary = "101";
    let numBinary = parseInt(strBinary, 2); // numBinary = 5 (sveikas skaičius)
    
    • parseFloat(string): konvertuoja eilutę į slankųjį skaičių. Nuskaito iki pirmo ne skaičiaus simbolio arba taško.
    // Aiškus konvertavimas naudojant parseFloat
    let strFloat = "3.14abc";
    let numFloat = parseFloat(strFloat); // numFloat = 3.14 (slankusis skaičius)
    
    • Number(value): konvertuoja bet kokią reikšmę į skaičių. Griežtesnis požiūris nei parseInt ir parseFloat. Jei eilutė negali būti visiškai konvertuota į skaičių, grąžina NaN.
    // Aiškus konvertavimas naudojant Number
    let strNum = "123.45";
    let numFromNumber = Number(strNum); // numFromNumber = 123.45 (skaičius)
    
    let strInvalid = "hello";
    let numInvalid = Number(strInvalid); // numInvalid = NaN
    

Skirtumai ir ypatybės:

Metodas Aprašymas Grąžina netinkamą eilutę Nuskaito nuo pradžios iki pirmo ne skaičiaus
+string Nepriklausomas konvertavimas naudojant viengubą pliusą. NaN Ne (visa eilutė)
string - 0 Nepriklausomas konvertavimas naudojant atėmimą. NaN Ne (visa eilutė)
parseInt() Nuskaito visą skaičių. NaN Taip
parseFloat() Nuskaito slankųjį skaičių. NaN Taip
Number() Griežtas konvertavimas. NaN Ne (visa eilutė)

Metodą pasirinkti priklauso nuo konkrečios užduoties ir įvesties eilutės formato. Number() yra rekomenduojamas konvertuoti eilutes, kurios atitinka sveikus arba slankiuosius skaičius be papildomų simbolių. parseInt() ir parseFloat() naudingi išgauti skaičius iš eilutės, turinčios papildomų simbolių (pvz., matavimo vienetus). Nepriklausomas konvertavimas turi būti naudojamas atsargiai, suprantant jo elgesį.