stoi ve stod
- C++ kursu
- Başlangıç
- Ders 89/116
- 5 dk
stoi ve stod ile dizeden sayıya dönüşüm öğrenirsin.
stoi ile dizeden tamsayı
Bazen bir dizenin tamamını tek bir sayıya çevirmen gerekir. stoi işlevi bir dizeyi tamsayıya dönüştürür; baştaki boşlukları atlar ve rakam olmayan ilk karakterde durur.
string s = "42";
int n = stoi(s); // n = 42Eğer dize geçerli bir sayı içermiyorsa std::invalid_argument istisnası fırlatılır. Bu yüzden stoi çağrısını try bloğuna almak çoğu zaman akıllıca olur; istisnaları ise sonraki derste daha ayrıntılı işleyeceğiz.
stod ile ondalıklı sayı
Ondalıklı sayılar için stod işlevi kullanılır. Çalışma biçimi stoi ile aynıdır; yalnızca dönüş türü double'dır ve nokta ile ondalık kısım desteklenir.
string s = "3.14";
double pi = stod(s); // pi = 3.14stod da geçersiz girişte std::invalid_argument fırlatır. Bilimsel gösterim ("1.5e3") gibi biçimler de desteklenir; bu sayede kullanıcıdan gelen metni güvenle sayısal hesaba dahil edebilirsin.
Uygulama Dizeden iki sayı çevir ve çarp
string a = "6"; ve string b = "7.5"; dize değişkenlerini tanımla. stoi ile a'yı tamsayıya, stod ile b'yi ondalıklı sayıya çevir. cout ile iki sayının çarpımını yazdır.
Başlangıç kodu
#include <iostream>
#include <string>
using namespace std;
int main() {
string a = "6";
string b = "7.5";
// stoi ve stod ile sayılara çevir, çarpımlarını yazdır
return 0;
}Örnek çözüm
#include <iostream>
#include <string>
using namespace std;
int main() {
string a = "6";
string b = "7.5";
int ia = stoi(a);
double db = stod(b);
cout << ia * db << endl;
return 0;
}Beklenen çıktı
45
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 stoi("42") çağrısı ne döndürür?
- "42"
- 42 Doğru cevap
- 42.0
- '4'
Açıklama: stoi bir int değer döndürür; 42 sayısıdır.
2 Boşluğu doldur: stod çağrısı
string s = "9.81";
double g = ____(s);
string s = "9.81";
double g = stod(s);
Açıklama: stod ondalıklı sayıları çevirir.
3 İşlevi dönüş türüyle eşleştir
| Kavram | Anlamı |
|---|---|
stoi |
int |
stod |
double |
to_string |
string |