Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar nombor menjadi rentetan dalam bahasa c

Bagaimana untuk menukar nombor menjadi rentetan dalam bahasa c

青灯夜游
青灯夜游asal
2023-01-04 15:20:0928561semak imbas

Cara menukar nombor kepada rentetan dalam bahasa C: 1. Operasi kod ASCII, tambah "0x30" pada nombor asal, sintaksnya ialah "nombor + 0x30", dan kod ASCII aksara yang sepadan dengan nombor akan disimpan; 2 . Menggunakan itoa(), anda boleh menukar integer menjadi rentetan, sintaksnya ialah "itoa(nombor1, rentetan, nombor);"; penunjuk mengikut keperluan yang ditentukan.

Bagaimana untuk menukar nombor menjadi rentetan dalam bahasa c

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi c99, komputer Dell G3.

Beberapa kaedah menukar nombor kepada rentetan dalam bahasa C

Kaedah 1. Operasi kod ASCII: Nombor + 0x30

Memandangkan jenis aksara disimpan dalam nilai kod ASCII, anda boleh menambah kod ASCII 48 nombor 0, iaitu 0x30, untuk menyimpan kod ASCII aksara yang sepadan dengan nombor itu.

#include <stdio.h>

int main()
{
   	char str1 = &#39;c&#39;; // 随便初始化一下
	str1 = 0x30 + 5;
	printf("str1: %c\n", str1);
	printf("str1: %d\n", str1);

   
   return 0;
}

Bagaimana untuk menukar nombor menjadi rentetan dalam bahasa c

Satu ayat untuk dikembangkan di sini, memandangkan intipati menyimpan aksara ialah kod ascii, ia boleh digunakan untuk menggunakan uint8_t atau jenis pembolehubah/tatasusunan lain untuk menyimpan aksara . Dalam projek saya, u8 digunakan untuk penyimpanan Kelebihannya ialah struktur data mestilah 8-bit, dan ciri-cirinya yang tidak ditandatangani juga ditentukan.

Kaedah 2, gunakan itoa()

Ini ialah fungsi pustaka bukan standard cstdlib.

itoa (mewakili integer kepada alfanumerik) ialah fungsi yang menukarkan integer kepada rentetan.

Penggunaan fungsi ini ialah

char *itoa (int value, char *str, int base);
  • nilai ialah nombor asal

  • str ialah penuding rentetan kepada disimpan.

  • asas ialah asas nombor yang ditentukan

Contohnya ialah:

#include <stdlib.h>
#include <stdio.h>
int main()
{
    int number1 = 123456;
    int number2 = -123456;
    char string[16] = {0};
    itoa(number1,string,10);
    printf("数字:%d 转换后的字符串为:%s\n",number1,string);
    itoa(number2,string,10);
    printf("数字:%d 转换后的字符串为:%s\n",number2,string);
    return 0;
}

Bagaimana untuk menukar nombor menjadi rentetan dalam bahasa c

Kaedah 3: fungsi sprintf()

Ini ialah fungsi perpustakaan standard stdio ini boleh memformat kandungan mengikut keperluan yang ditetapkan dan menyimpannya dalam rentetan yang ditunjuk kepada dengan penunjuk.

Pengisytiharan fungsi sprintf().

int sprintf(char *str, const char *format, ...)
  • str -- Ini ialah penunjuk kepada tatasusunan aksara yang menyimpan rentetan C.

  • format -- Ini ialah rentetan yang mengandungi teks yang akan ditulis pada rentetan str. Ia boleh mengandungi teg format terbenam, yang boleh digantikan dengan nilai yang ditentukan dalam parameter tambahan seterusnya dan diformatkan mengikut keperluan. Atribut teg format ialah %[flags][width][.precision][length]specifier

Contoh:

#include <stdio.h>
#include <math.h>

int main()
{
   char str[80];

   sprintf(str, "Pi 的值 = %f", M_PI);
   puts(str);
   
   return(0);
}

Bagaimana untuk menukar nombor menjadi rentetan dalam bahasa c

[Cadangan berkaitan: Tutorial video bahasa C, Pengajaran pengaturcaraan]

Atas ialah kandungan terperinci Bagaimana untuk menukar nombor menjadi rentetan dalam bahasa c. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn