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) - Matematinių operatorių naudojimas: pavyzdžiui, viengubas pliusas
-
Aiškus tipų konvertavimas:
parseInt(string, radix): konvertuoja eilutę į sveikąjį skaičių. Antrasis argumentasradix(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 neiparseIntirparseFloat. Jei eilutė negali būti visiškai konvertuota į skaičių, grąžinaNaN.
// 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į.