Maison  >  Article  >  développement back-end  >  Comment convertir des nombres en chaînes en langage C

Comment convertir des nombres en chaînes en langage C

青灯夜游
青灯夜游original
2023-01-04 15:20:0928539parcourir

Méthode du langage C pour convertir des nombres en chaînes : 1. Opération de code ASCII, ajoutez « 0x30 » au numéro d'origine, la syntaxe est « numéro + 0x30 », le caractère code ASCII correspondant au numéro sera stocké ; itoa( ), vous pouvez convertir un entier en chaîne, la syntaxe est "itoa(number1, string, number);"; 3. En utilisant sprintf(), vous pouvez formater le contenu selon les exigences spécifiées et le stocker dans le chaîne pointée par le pointeur.

Comment convertir des nombres en chaînes en langage C

L'environnement d'exploitation de ce tutoriel : système Windows 7, version c99, ordinateur Dell G3.

Plusieurs méthodes de conversion de nombres en chaînes en langage C

Méthode 1. Opération de code ASCII : Nombre + 0x30

Étant donné que le type de caractère est stocké dans une valeur de code ASCII, des nombres peuvent être ajoutés. L'ASCII Le code de 0 est 48, soit 0x30, qui stocke le code de caractère ASCII correspondant au numéro.

#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;
}

Comment convertir des nombres en chaînes en langage C

Extension ici, puisque l'essence du stockage des caractères est le code ascii, il est possible d'utiliser uint8_t ou d'autres types de variables/tableaux pour stocker les caractères. Dans mon projet, u8 est utilisé pour le stockage. L'avantage est que la structure des données doit être de 8 bits et que ses caractéristiques non signées sont également déterminées.

Méthode 2, utilisez itoa()

Il s'agit d'une fonction de la bibliothèque non standard cstdlib.

itoa (représentant un entier en alphanumérique) est une fonction qui convertit les nombres entiers en chaînes.

L'utilisation de cette fonction est

char *itoa (int value, char *str, int base);
  • value est le nombre d'origine

  • str est le pointeur de chaîne à enregistrer

  • base est la base numérique spécifiée

Un exemple est :

#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;
}

Comment convertir des nombres en chaînes en langage C

Méthode 3 : fonction sprintf()

Il s'agit de la fonction de bibliothèque standard stdio. Cette fonction peut formater le contenu selon les exigences spécifiées et le stocker dans la chaîne pointée par le pointeur.

Déclaration de la fonction sprintf().

int sprintf(char *str, const char *format, ...)
  • str -- Il s'agit d'un pointeur vers un tableau de caractères qui stocke une chaîne C.

  • format -- Il s'agit de la chaîne contenant le texte à écrire dans la chaîne str. Il peut contenir une balise de format intégrée, qui peut être remplacée par la valeur spécifiée dans les paramètres supplémentaires suivants et formatée selon les besoins. L'attribut de la balise de format est %[flags][width][.precision][length]specifier

Exemple :

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

int main()
{
   char str[80];

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

Comment convertir des nombres en chaînes en langage C

【Recommandations associées : Tutoriel vidéo sur le langage C, Enseignement de la programmation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn