Maison développement back-end Tutoriel Python Conseils et méthodes pour la conversion de nombres à virgule flottante

Conseils et méthodes pour la conversion de nombres à virgule flottante

Jan 05, 2024 pm 03:39 PM
字符串 浮点数 转换

Conseils et méthodes pour la conversion de nombres à virgule flottante

Méthodes et techniques de conversion de chaînes en nombres à virgule flottante

En programmation, nous rencontrons souvent le besoin de convertir des chaînes en nombres à virgule flottante. Que vous lisiez des données à virgule flottante à partir d'un fichier texte ou obteniez des nombres à virgule flottante à partir d'une entrée utilisateur, vous devez convertir des chaînes en nombres à virgule flottante pour des calculs et un traitement ultérieurs. Cet article présentera plusieurs méthodes et techniques couramment utilisées pour convertir des chaînes en nombres à virgule flottante et fournira des exemples de code spécifiques.

Méthode 1 : Utilisez la fonction de bibliothèque atof()

La fonction de bibliothèque standard atof() en langage C peut convertir une chaîne en nombre à virgule flottante. Son prototype est défini dans le fichier d'en-tête stdlib.h, et il vous suffit d'inclure ce fichier d'en-tête lors de son utilisation. Voici un exemple de code utilisant la fonction atof() :

#include <stdio.h>
#include <stdlib.h>

int main() {
    char str[10] = "3.14";
    double num = atof(str);
    
    printf("转换后的浮点数为:%f
", num);
    
    return 0;
}
Copier après la connexion

Ce programme convertit la chaîne "3.14" en un nombre à virgule flottante et imprime le résultat 3.140000.

Méthode 2 : utilisez la fonction de bibliothèque strtod()

Semblable à atof(), la fonction de bibliothèque standard strtod() en langage C peut également convertir des chaînes en nombres à virgule flottante. Son prototype est défini dans le fichier d'en-tête stdlib.h. Contrairement à atof(), strtod() a des fonctions plus puissantes et peut gérer davantage d'exigences de conversion. Voici un exemple de code utilisant la fonction strtod() :

#include <stdio.h>
#include <stdlib.h>

int main() {
    char str[10] = "3.14";
    char *ptr;
    double num = strtod(str, &ptr);
    
    printf("转换后的浮点数为:%f
", num);
    
    return 0;
}
Copier après la connexion

Ce programme est similaire à l'exemple précédent et génère également 3,140000.

Il est à noter que la fonction strtod() peut également renvoyer un pointeur sur le caractère suivant de la chaîne convertie, passé via le deuxième paramètre ptr. Cela permet de déterminer facilement si la conversion a réussi et de gérer d'autres caractères non pertinents dans la chaîne.

Méthode 3 : utilisez la fonction de bibliothèque sscanf()

En plus d'utiliser des fonctions telles que atof() et strtod(), vous pouvez également utiliser la fonction de bibliothèque sscanf() pour convertir des chaînes en nombres à virgule flottante. Le prototype de la fonction sscanf() est défini dans le fichier d'en-tête stdio.h, qui doit être inclus lors de son utilisation. Voici un exemple de code utilisant la fonction sscanf() :

#include <stdio.h>

int main() {
    char str[10] = "3.14";
    double num;
    
    sscanf(str, "%lf", &num);
    
    printf("转换后的浮点数为:%f
", num);
    
    return 0;
}
Copier après la connexion

Ce programme a le même effet que l'exemple précédent et la sortie est 3,140000.

En utilisant la fonction sscanf(), vous pouvez lire le nombre à virgule flottante dans la chaîne selon le format spécifié et le stocker dans la variable spécifiée. Cette méthode est plus flexible et peut répondre à diverses exigences de conversion complexes en contrôlant la chaîne de format.

Il est à noter que "%lf" dans la chaîne de format signifie qu'un nombre à virgule flottante de type double doit être lu. Si vous souhaitez lire d'autres types de nombres à virgule flottante, vous pouvez modifier la chaîne de format en conséquence.

En résumé, cet article présente trois méthodes et techniques couramment utilisées pour convertir des chaînes en nombres à virgule flottante et fournit des exemples de code spécifiques. En fonction des besoins réels, choisissez la méthode appropriée pour convertir une chaîne en nombre à virgule flottante. J'espère que ces contenus vous seront utiles !

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 de ce site Web
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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Conseils pratiques pour convertir des lettres anglaises pleine chasse en demi-chasse Conseils pratiques pour convertir des lettres anglaises pleine chasse en demi-chasse Mar 26, 2024 am 09:54 AM

Conseils pratiques pour convertir des lettres anglaises pleine chasse en demi-chasse

Comment convertir de la musique qq au format mp3 Convertir de la musique qq au format mp3 sur téléphone mobile Comment convertir de la musique qq au format mp3 Convertir de la musique qq au format mp3 sur téléphone mobile Mar 21, 2024 pm 01:21 PM

Comment convertir de la musique qq au format mp3 Convertir de la musique qq au format mp3 sur téléphone mobile

Méthode d'arrondi des nombres à virgule flottante PHP Méthode d'arrondi des nombres à virgule flottante PHP Mar 21, 2024 am 09:21 AM

Méthode d'arrondi des nombres à virgule flottante PHP

Explication détaillée de la méthode d'implémentation de conversion des mois PHP en mois anglais Explication détaillée de la méthode d'implémentation de conversion des mois PHP en mois anglais Mar 21, 2024 pm 06:45 PM

Explication détaillée de la méthode d'implémentation de conversion des mois PHP en mois anglais

Explication détaillée de la méthode de conversion du type int en chaîne en PHP Explication détaillée de la méthode de conversion du type int en chaîne en PHP Mar 26, 2024 am 11:45 AM

Explication détaillée de la méthode de conversion du type int en chaîne en PHP

Tutoriel PHP : Comment convertir un type int en chaîne Tutoriel PHP : Comment convertir un type int en chaîne Mar 27, 2024 pm 06:03 PM

Tutoriel PHP : Comment convertir un type int en chaîne

Découvrez rapidement la conversion de valeurs ASCII en PHP Découvrez rapidement la conversion de valeurs ASCII en PHP Mar 28, 2024 pm 06:42 PM

Découvrez rapidement la conversion de valeurs ASCII en PHP

Comment convertir des lettres anglaises pleine chasse en lettres demi-chasse Comment convertir des lettres anglaises pleine chasse en lettres demi-chasse Mar 25, 2024 pm 02:45 PM

Comment convertir des lettres anglaises pleine chasse en lettres demi-chasse

See all articles