Junior
JavaScript'te bir dizge nasıl sayıya dönüştürülür?
sobes.tech yapay zeka
AI'dan gelen yanıt
JavaScript'te, dizgeleri sayılara dönüştürmenin birkaç yolu vardır:
-
İçsel tip dönüşümleri:
- Matematiksel operatörler: örneğin, tekli artı
+veya çıkarma-.
// Tekli artı ile içsel dönüşüm let str = "123"; let num = +str; // num = 123 (sayı)- Aritmetik işlemler: Aritmetik operatörler kullanıldığında, JavaScript operandları sayıya çevirmeye çalışır.
// Çıkarma ile içsel dönüşüm let str1 = "10"; let str2 = "5"; let result = str1 - str2; // result = 5 (sayı) - Matematiksel operatörler: örneğin, tekli artı
-
Açık tip dönüşümleri:
parseInt(string, radix): Bir dizgiyi tam sayıya dönüştürür. İkinci argümanradix(sayısal sistemin tabanı) belirtilmesi önerilir, böylece beklenmedik davranışlar önlenir.
// parseInt ile açık dönüşüm let strInt = "42px"; let numInt = parseInt(strInt, 10); // numInt = 42 (tam sayı) let strBinary = "101"; let numBinary = parseInt(strBinary, 2); // numBinary = 5 (tam sayı)parseFloat(string): Bir dizgiyi kayan nokta sayısına dönüştürür. Dizgi, ilk sayı olmayan karakter veya noktaya kadar analiz edilir.
// parseFloat ile açık dönüşüm let strFloat = "3.14abc"; let numFloat = parseFloat(strFloat); // numFloat = 3.14 (kayan nokta sayı)Number(value): Herhangi bir değeri sayıya dönüştürür.parseIntveparseFloat'a göre daha katıdır. Eğer dizgi tamamen sayıya dönüştürülemezse,NaNdöner.
// Number ile açık dönüşüm let strNum = "123.45"; let numFromNumber = Number(strNum); // numFromNumber = 123.45 (sayı) let strInvalid = "hello"; let numInvalid = Number(strInvalid); // numInvalid = NaN
Farklar ve özellikler:
| Yöntem | Açıklama | Geçersiz dizgi ile NaN döner | İlk sayı olmayan karaktere kadar analiz eder |
|---|---|---|---|
+string |
İçsel artı ile iç dönüşüm. | NaN |
Hayır (tüm dizgi) |
string - 0 |
Çıkarma ile iç dönüşüm. | NaN |
Hayır (tüm dizgi) |
parseInt() |
Tam sayı analizi. | NaN |
Evet |
parseFloat() |
Kayan nokta sayı analizi. | NaN |
Evet |
Number() |
Açık dönüşüm. Daha katı. | NaN |
Hayır (tüm dizgi) |
Hangi yöntemin kullanılacağı, belirli göreve ve giriş dizgisinin beklenen formatına bağlıdır. Number(), tam veya ondalıklı sayıları, ek karakterler olmadan temsil eden dizgilerin dönüştürülmesi için tercih edilir. parseInt() ve parseFloat() ise, ek semboller içeren dizgelerden sayısal değerler çıkarmak için kullanışlıdır (örneğin, ölçü birimleri). İçsel dönüşümler dikkatli kullanılmalı ve davranışları anlaşılmalıdır.