CodeBlanks Logo Icon CodeBlanks

stoi ve stod

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 = 42

Eğ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.14

stod 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

main.cpp
#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

main.cpp
#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ı

Soru
string s = "9.81";
double g = ____(s);
Cevap
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

Başlangıç bölümündeki tüm dersler