„Mam kilka książek o wartości 14 USD.25 i inne warte 34 USD.87."
Teraz pod stramy „14.25 ”i„ 34.87 ”to literały smyczkowe, a nie liczby. Jeśli masz kod,
"14.25 " +" 34.87 "
W C ++ nie skończysz z 49.12. W rzeczywistości kompilator powinien wydać komunikat o błędzie. Mieć wynik, 49.12, „14.25 ”należy przekonwertować na typ liczb podwójnego lub pływaka, a„ 34.87 ”należy przekonwertować na typ liczb podwójnego lub pływaka.
Tytuł tego samouczka to „C ++ ciąg do podwójnej konwersji”. Twoim celem jest konwersja ciągów na podwójne; lub zrobić wszystkie następujące, które są powiązane?
Ten samouczek wyjaśnia wszystkie te konwersje i więcej. To, co jest konwertowane, to obiekt w formie ciągu. Klasa ciągów C ++ ma funkcje, aby. Aby korzystać z tych funkcji, klasa stringowa musi zostać uwzględniona w programie.
Treść artykułu
Ciąg do konwersji całkowitej
Poniższy program to:
„20” do int + „30” do int = 50 jako int int
Uproszczona składnia konwersji do użycia jest:
STOI (STR)
gdzie STOI oznacza string-to-integer. Program to:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "20";
Char str2 [] = "30";
int num1 = stoi (str1);
int num2 = stoi (str2);
int wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to 50.
Ciąg do długiej konwersji całkowitej
Poniższy program to:
„20” do długiego int + „30” do długiego int = 50 jak długi int
Uproszczona składnia konwersji do użycia jest:
STOL (STR)
gdzie stol oznacza ciąg do długości. Program to:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "20";
Char str2 [] = "30";
długie int num1 = stol (str1);
długie int num2 = stol (str2);
long int wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to 50.
Ciąg do niepodpisanej długiej konwersji liczb całkowitych
Poniższy program to:
„20” do niepodpisanego długiego int + „30” do unsigned Long Int = 50 jako niepodpisany długi int
Uproszczona składnia konwersji do użycia jest:
Stoul (Str)
gdzie Stoul oznacza odcinek od straży do beznadziejnego. Program to:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "20";
Char str2 [] = "30";
niepodpisany długi int num1 = stul (str1);
niepodpisany długi int num2 = stul (str2);
niepodpisany długi int wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to 50.
Ciąg do niepodpisanej długiej konwersji liczb całkowitych
Poniższy program to:
„20” do długiego, długiego, długiego i „30” do niepodpisanego długiego int = 50 jako niepodpisany długi, długi int
Uproszczona składnia konwersji do użycia jest:
Stoull (str)
gdzie Stoul oznacza odcinek do straży, długiego. Program to:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "20";
Char str2 [] = "30";
niepodpisany długi int int num1 = stull (str1);
niepodpisany długi int num2 = stull (str2);
niepodpisany długi int wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to 50.
Ciąg do zmiennej konwersji
Poniższy program to:
"14.25 „do float +” 34.87 "do float = 49.12 jako pływak
Uproszczona składnia konwersji do użycia jest:
STOF (STR)
gdzie STOF oznacza od strzyżu. Program to:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "14.25 ";
Char Str2 [] = "34.87 ";
float num1 = stof (str1);
float num2 = stof (str2);
Float Result = Num1 + NUM2;
Cout << result << endl;
powrót 0;
Wyjście to:
49.12
Ciąg do podwójnej konwersji
Poniższy program to:
"14.25 „do Double +” 34.87 "do podwójnego = 49.12 jako podwójne
Uproszczona składnia konwersji do użycia jest:
Stod (Str)
gdzie STOF oznacza od strzyżu. Program to:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "14.25 ";
Char Str2 [] = "34.87 ";
Double Num1 = STOD (STR1);
Double NUM2 = STOD (STR2);
podwójny wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to:
49.12
Ciąg do długiej podwójnej konwersji
Poniższy program to:
"14.25 „do długiego double +” 34.87 "do długiego podwójnego = 49.12 jako podwójne
Uproszczona składnia konwersji do użycia jest:
STOLD (STR)
gdzie STOF oznacza od strzyżu. Program to:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "14.25 ";
Char Str2 [] = "34.87 ";
długi podwójny num1 = stold (str1);
długi podwójny NUM2 = STOLD (STR2);
długi wynik podwójny = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to:
49.12
Pełna składnia
Ciąg do liczby całkowitych
Pełna składnia do konwersji ciągu na INT to:
int sttoi (const string & str, size_t* idx = nullptr, int base = 10)
Drugi argument może być dozwolony jako NULLPTR. Domyślnie trzeciego argumentu jest podstawa 10. Można go zmienić na inną bazę, na przykład 16.
Poniższy program to:
„A” do INT-BASE-16 + „B” do int-base-16 = 21 jako int-base-10
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "a";
Char str2 [] = "b";
int num1 = stoi (str1, nullptr, 16);
int num2 = stoi (str2, nullptr, 16);
int wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to 21.
Pozostałe składni są podobnie wyjaśnione.
Biała przestrzeń
WhiteSpaces to ", '\ n', '\ r', '\ f', '\ t', '\ v' '. Jeden lub więcej z nich może znajdować się z przodu lub po liczbie na ciągu. Podczas konwersji białe listy są usuwane.
Poniższy program ilustruje, w jaki sposób białe listy są usuwane w konwersji z ciągów na int:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "\ n 20 \ n";
Char str2 [] = "\ t 30 \ t";
int num1 = stoi (str1);
int num2 = stoi (str2);
int wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Poniższy program ilustruje, w jaki sposób białe listy są usuwane podczas konwersji z ciągów do długiego INT:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "\ n 20 \ n";
Char str2 [] = "\ t 30 \ t";
długie int num1 = stol (str1);
długie int num2 = stol (str2);
long int wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to 50.
Poniższy program ilustruje, w jaki sposób białe listy są usuwane w konwersji z ciągów do bez znaku długiego INT:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "\ n 20 \ n";
Char str2 [] = "\ t 30 \ t";
niepodpisany długi int num1 = stul (str1);
niepodpisany długi int num2 = stul (str2);
niepodpisany długi int wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to 50.
Poniższy program ilustruje, w jaki sposób białe listy są usuwane w konwersji z ciągów na niepodpisane długie int:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "\ n 20 \ n";
Char str2 [] = "\ t 30 \ t";
niepodpisany długi int int num1 = stull (str1);
niepodpisany długi int num2 = stull (str2);
niepodpisany długi int wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to 50.
Poniższy program ilustruje, w jaki sposób białe listy są usuwane w konwersji z ciągów na float:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "\ n 14.25 \ n ”;
Char str2 [] = "\ t 34.87 \ t ";
float num1 = stof (str1);
float num2 = stof (str2);
Float Result = Num1 + NUM2;
Cout << result << endl;
powrót 0;
Wyjście to:
49.12
Poniższy program ilustruje, w jaki sposób białe listy są usuwane w konwersji z ciągu na podwójne:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "\ n 14.25 \ n ”;
Char str2 [] = "\ t 34.87 \ t ";
Double Num1 = STOD (STR1);
Double NUM2 = STOD (STR2);
podwójny wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to:
49.12
Poniższy program ilustruje, w jaki sposób białe listy są usuwane w konwersji z ciągów do długiego podwójnego:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "\ n 14.25 \ n ”;
Char str2 [] = "\ t 34.87 \ t ";
długi podwójny num1 = stold (str1);
długi podwójny NUM2 = STOLD (STR2);
długi wynik podwójny = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to:
49.12
Poniższy program ilustruje, w jaki sposób białe listy są usuwane w konwersji z ciągów do int, w podstawie 16:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str1 [] = "\ n a \ n";
Char str2 [] = "\ t b \ t";
int num1 = stoi (str1, nullptr, 16);
int num2 = stoi (str2, nullptr, 16);
int wynik = num1 + num2;
Cout << result << endl;
powrót 0;
Wyjście to 21.
Wniosek
C ++ ma funkcje do konwersji ciągów na liczby. W konwersji białe listy są ignorowane. Jeśli łańcuch ma znak, który nie jest cyfrą lub białą, wynik jest niewiarygodny. Funkcje znajdują się w bibliotece strun i są: stoi (), stol (), stul (), stoll (), stull (), stof (), stod () i stold ().