ฟังก์ชัน atoi() ในภาษาซีใช้เพื่อจัดการการแปลงสตริงเป็นจำนวนเต็ม ฟังก์ชันรับสตริงเป็นอินพุตและส่งกลับค่าเป็นประเภทจำนวนเต็ม
ไวยากรณ์
int atoi(const char string)
ยอมรับพารามิเตอร์แล้ว ฟังก์ชัน atio() ยอมรับสตริงเป็นอินพุตซึ่งจะถูกแปลงเป็นจำนวนเต็มเทียบเท่า
ประเภทการคืนสินค้า − ฟังก์ชันส่งกลับค่าจำนวนเต็ม ค่าจะเท่ากับจำนวนเต็มสำหรับสตริงที่ถูกต้อง มิฉะนั้น จะส่งกลับ 0
การใช้งานฟังก์ชัน atoi() -
เราใช้อักขระแต่ละตัวของสตริงและสร้างจำนวนเต็มโดยการเพิ่มตัวเลขในผลลัพธ์ก่อนหน้าคูณด้วย 10
สำหรับจำนวนเต็มลบ เราจะตรวจสอบว่าอักขระตัวแรกของสตริงใน - เราจะคูณผลลัพธ์สุดท้ายด้วย -1 หรือไม่
เราจะตรวจสอบสตริงที่ถูกต้องโดยตรวจสอบว่าอักขระแต่ละตัวอยู่ระหว่าง 0 ถึง 9 หรือไม่
โปรแกรมแสดงการใช้งานโซลูชันของเรา
ตัวอย่าง
#include <iostream> using namespace std; bool isNumericChar(char x) { return (x >= '0' && x <= '9') ? true : false; } int myAtoi(char* str) { if (*str == '\0') return 0; int result = 0; int sign = 1; int i = 0; if (str[0] == '-') { sign = -1; i++; } for (; str[i] != '\0'; ++i) { if (isNumericChar(str[i]) == false) return 0; result = result * 10 + str[i] - '0'; } return sign * result; } int main() { char string[] = "-32491841"; int intVal = myAtoi(string); cout<<"The integer equivalent of the given string is "<<intVal; return 0; }
ผลลัพธ์
The integer equivalent of the given string is -32491841