ฟังก์ชัน 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