Rumah >pembangunan bahagian belakang >C++ >Cara Menukar Rentetan kepada Beregu dalam C : Panduan Mudah Menggunakan `std::istringstream` dan `std::stod`
Dalam C , menukar rentetan kepada berganda boleh dicapai menggunakan fungsi std::istringstream dan std::stod.
<code class="cpp">#include <sstream> double string_to_double(const std::string& s) { std::istringstream iss(s); double x; if (!(iss >> x)) { return 0; // Return 0 for non-numerical strings } return x; }</code>
Begini cara fungsi ini berfungsi:
Perhatikan bahawa fungsi ini tidak dapat membezakan sepenuhnya semua perwakilan rentetan yang dibenarkan bagi sifar daripada rentetan bukan berangka. Sebagai contoh, ia menganggap semua rentetan berikut sebagai sifar:
"0" "0." "0.0"
Berikut ialah beberapa kes ujian untuk menunjukkan penggunaan fungsi string_to_double:
<code class="cpp">#include <cassert> int main() { assert(0.5 == string_to_double("0.5")); assert(0.5 == string_to_double("0.5 ")); assert(0.5 == string_to_double(" 0.5")); assert(0.5 == string_to_double("0.5a")); assert(0 == string_to_double("0")); assert(0 == string_to_double("0.")); assert(0 == string_to_double("0.0")); assert(0 == string_to_double("foobar")); return 0; }</code>
Atas ialah kandungan terperinci Cara Menukar Rentetan kepada Beregu dalam C : Panduan Mudah Menggunakan `std::istringstream` dan `std::stod`. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!