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) - Matemātisko operatoru izmantošana: piemēram, vienkāršais plus
-
Skaidra tipu pārvēršana:
parseInt(string, radix): pārvērš tekstu veselos skaitļos. Otrā argumentaradix(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āparseIntunparseFloat. 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 |
Nē (visa rinda) |
string - 0 |
Nepārprotama pārvēršana ar atņemšanu. | NaN |
Nē (visa rinda) |
parseInt() |
Analizē visu skaitli. | NaN |
Jā |
parseFloat() |
Analizē peldošo punktu skaitli. | NaN |
Jā |
Number() |
Skaidra pārvēršana. Stingrāka. | NaN |
Nē (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.