Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

การแปลงสตริงเป็นตัวเลขและในทางกลับกันใน C++


ในส่วนนี้เราจะมาดูวิธีการแปลงสตริงเป็นตัวเลขและแปลงตัวเลขเป็นสตริง ตอนแรกเราจะมาดูวิธีการแปลงสตริงเป็นตัวเลข

การแปลงสตริงเป็นตัวเลข

เราจะมาดูวิธีการแปลงสตริงตัวเลขเป็นข้อมูลประเภทจำนวนเต็ม เราสามารถแก้ปัญหานี้ได้โดยใช้ฟังก์ชัน atoi() ฟังก์ชันนี้ใช้สตริงเป็นอินพุตและแปลงเป็นข้อมูลจำนวนเต็ม

ฟังก์ชัน atoi() มีอยู่ในไลบรารี

Input: A number string “1234”
Output: 1234

อัลกอริทึม

Step 1:Take a number string
Step 2: Convert it to integer using atoi() function
Step 3: Print the result.
Step 4: End

โค้ดตัวอย่าง

#include<iostream>
#include<cstdlib>
using namespace std;
main() {
   int n;
   char num_string[20] = "1234";
   n = atoi(num_string);
   cout << n;
}

ผลลัพธ์

1234

การแปลงตัวเลขเป็นสตริง

ในส่วนนี้เราจะมาดูวิธีการแปลงตัวเลข (จำนวนเต็มหรือทศนิยมหรือข้อมูลประเภทตัวเลขอื่นๆ) เป็นสตริง

ตรรกะนั้นง่ายมาก เราจะใช้ฟังก์ชัน sprintf() ฟังก์ชันนี้ใช้เพื่อพิมพ์ค่าหรือบรรทัดบางอย่างลงในสตริง แต่ไม่ใช่ในคอนโซล นี่เป็นข้อแตกต่างระหว่าง printf() และ sprintf() ที่นี่อาร์กิวเมนต์แรกคือบัฟเฟอร์สตริง ที่เราต้องการบันทึกข้อมูลของเรา

Input: User will put some numeric value say 42.26
Output: This program will return the string equivalent result of that number like “42.26”

อัลกอริทึม

Step 1: Take a number from the user
Step 2: Create an empty string buffer to store result
Step 3: Use sprintf() to convert number to string
Step 4: End

โค้ดตัวอย่าง

#include<stdio.h>
main() {
   char str[20]; //create an empty string to store number
   float number;
   printf("Enter a number: ");
   scanf("%f", &number);
   sprintf(str, "%f", number);//make the number into string using sprintf function
   printf("You have entered: %s", str);
}

ผลลัพธ์

Enter a number: 46.3258
You have entered: 46.325802