Junior
Kako se u JavaScript-u pretvara niz u broj?
sobes.tech АИ
Одговор од АИ
Konverzija niza u broj u JavaScript-u može se izvršiti na nekoliko načina:
-
Neizvesna konverzija tipa:
- Matematički operatori: na primer, unarni plus
+ili oduzimanje-.
// Neizvesna konverzija pomoću unarnog plusa let str = "123"; let num = +str; // num = 123 (broj)- Matematičke operacije: kada se koriste matematički operatori, JavaScript će pokušati da pretvori operande u brojeve.
// Neizvesna konverzija pomoću oduzimanja let str1 = "10"; let str2 = "5"; let result = str1 - str2; // result = 5 (broj) - Matematički operatori: na primer, unarni plus
-
Javna konverzija tipa:
parseInt(string, radix): Pretvara niz u ceo broj. Drugi argumentradix(baza sistema) se preporučuje navesti da bi se izbeglo neočekivano ponašanje.
// Konverzija pomoću parseInt let strInt = "42px"; let numInt = parseInt(strInt, 10); // numInt = 42 (ceo broj) let strBinary = "101"; let numBinary = parseInt(strBinary, 2); // numBinary = 5 (ceo broj)parseFloat(string): Pretvara niz u decimalni broj. Parsira niz do prvog nebrojevnog znaka ili tačke.
// Konverzija pomoću parseFloat let strFloat = "3.14abc"; let numFloat = parseFloat(strFloat); // numFloat = 3.14 (decimalni broj)Number(value): Pretvara bilo koju vrednost u broj. Strožiji je u poređenju saparseIntiparseFloat. Ako se niz ne može u potpunosti pretvoriti u broj, vraćaNaN.
// Konverzija pomoću Number let strNum = "123.45"; let numFromNumber = Number(strNum); // numFromNumber = 123.45 (broj) let strInvalid = "hello"; let numInvalid = Number(strInvalid); // numInvalid = NaN
Razlike i osobine:
| Metod | Opis | Vraća pri nevažećem nizu | Parsira od početka do prvog nebrojevnog znaka |
|---|---|---|---|
+string |
Neprepoznatljiv preobražaj sa unarnim +. | NaN |
Ne (cela linija) |
string - 0 |
Neprepoznatljiv preobražaj sa oduzimanjem. | NaN |
Ne (cela linija) |
parseInt() |
Parsira ceo broj. | NaN |
Da |
parseFloat() |
Parsira decimalni broj. | NaN |
Da |
Number() |
Direktni preobražaj. Stroži. | NaN |
Ne (cela linija) |
Izbor metode zavisi od konkretne zadatka i očekivanog formata ulaznog niza. Number() je preferirana za konverziju nizova koji predstavljaju cele ili decimalne brojeve bez dodatnih znakova. parseInt() i parseFloat() su korisni za izvlačenje numeričkih vrednosti iz nizova koji sadrže dodatne znakove (npr. mere). Neprepoznatljiv preobražaj treba koristiti pažljivo, razumevajući njegovo ponašanje.