Menentukan Numerik Rentetan dan Tatasusunan Aksara
Dalam C , mengesahkan sama ada rentetan atau tatasusunan aksara (char*) terdiri secara eksklusif aksara angka ialah satu keperluan bersama. Mari kita terokai dua kaedah yang boleh dipercayai:
Kaedah 1: find_first_not_of()
Kaedah ini menggunakan fungsi find_first_not_of() , yang mencari kejadian pertama bagi aksara bukan digit . Jika tiada aksara sedemikian ditemui, ia mengembalikan std::string::npos, menandakan kehadiran digit sahaja:
<code class="cpp">bool is_digits(const std::string &str) { return str.find_first_not_of("0123456789") == std::string::npos; }</code>
Kaedah 2: std::all_of()
Kaedah ini memanfaatkan fungsi std::all_of(), yang menyemak sama ada semua elemen dalam julat memenuhi predikat tertentu. Dalam kes ini, predikatnya ialah ::isdigit, yang mengembalikan benar untuk aksara angka:
<code class="cpp">bool is_digits(const std::string &str) { return std::all_of(str.begin(), str.end(), ::isdigit); // C++11 }</code>
Perbandingan untuk Rentetan dan Tatasusunan Aksara
Kedua-dua kaedah adalah sama terpakai kepada kedua-dua rentetan dan tatasusunan aksara. Walau bagaimanapun, tatasusunan aksara memerlukan penukaran eksplisit kepada rentetan sebelum menggunakan fungsi ahli std::string.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan jika Susunan Rentetan atau Aksara Hanya Mengandungi Digit dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!