Table des matières
Conversion implicite
Grammaire
Algorithme
Exemple
Sortie
Conversion explicite
Mentionner le type de données lors de l'affectation
Version style C
Casting fonctionnel
Utilisez static_cast
Conclusion
Maison développement back-end C++ Programme C++ pour convertir une variable de type double en type int

Programme C++ pour convertir une variable de type double en type int

Aug 25, 2023 pm 08:25 PM
double int type de conversion

Programme C++ pour convertir une variable de type double en type int

En C++, les variables de type int ne peuvent contenir que des valeurs entières positives ou négatives ; elles ne peuvent pas contenir de valeurs décimales. Des valeurs float et double sont disponibles à cet effet. Le type de données double a été créé pour stocker des décimales jusqu'à sept chiffres après la virgule. La conversion d'un entier en type de données double peut être effectuée automatiquement par le compilateur (appelée conversion "implicite"), ou elle peut être explicitement demandée par le programmeur au compilateur (appelée conversion "explicite"). Dans les sections suivantes, nous aborderons différentes méthodes de conversion.

Conversion implicite

Le compilateur effectue automatiquement des conversions de type implicites. Pour y parvenir, deux variables sont nécessaires : l’une de type virgule flottante et l’autre de type entier. Lorsque nous attribuons simplement une valeur ou une variable à virgule flottante à une variable entière, le compilateur s'occupe de toutes les autres choses. Cette conversion souffre d'une perte de données car les variables entières ne peuvent pas contenir de valeurs décimales après la virgule.

Grammaire

double input = <double value>;
int output = input;
Copier après la connexion

Algorithme

  • Prenez une valeur double en entrée ;
  • Attribuez une valeur à une variable entière.
  • Afficher la sortie.

Exemple

#include <iostream>
using namespace std;

int solve(double value) {
   int opVal = value;
   return opVal;
}

int main()
{
   double ip = 25.3056;
   int op = solve(ip);
   cout<< "The input value is: " << ip << endl;
   cout<< "The output value is: " << op << endl;
   return 0;
}
Copier après la connexion

Sortie

The input value is: 25.3056
The output value is: 25
Copier après la connexion

Comme nous pouvons le voir, le processus de conversion est assez simple. Nous attribuons simplement les variables d'entrée aux variables de sortie ; aucune procédure supplémentaire n'est requise. En outre, vous pouvez voir que la partie fractionnaire de la valeur double n’est pas présente dans la sortie.

Conversion explicite

Lorsque le programmeur demande explicitement au compilateur de convertir un type de données en un autre, cela s'appelle une conversion explicite ou une conversion de type explicite. Il existe deux manières d'y parvenir : l'une consiste à déclarer explicitement le type de données lors de l'affectation et l'autre consiste à utiliser static_cast. Nous avons déjà discuté de la première méthode.

Algorithme

  • Prenez une valeur double en entrée ;
  • Utilisez la conversion de type explicite pour attribuer des valeurs à des variables entières.
  • Afficher la sortie.

Mentionner le type de données lors de l'affectation

Il existe deux méthodes d'exécution différentes. L’une est une version de style C et l’autre est une conversion de style fonctionnel.

Version style C

Le type de données du résultat est spécifié avant la variable source, entre parenthèses.

Grammaire

double input = <double value>;
int output = (int) input;
Copier après la connexion

Exemple

#include <iostream>
using namespace std;

int solve(double value) {
   int opVal = (int)value;
   return opVal;
}

int main()
{
   double ip = 84.4439;
   int op = solve(ip);
   cout<< "The value before conversion: " << ip << endl;
   cout<< "The value after conversion: " << op << endl;
   return 0;
}
Copier après la connexion

Sortie

The value before conversion: 84.4439
The value after conversion: 84
Copier après la connexion

Casting fonctionnel

Lorsque nous fournissons des arguments à une fonction, nous déclarons le type de données du résultat et mettons la valeur source entre parenthèses.

Grammaire

double input = <double value>;
int output = int(input);
Copier après la connexion

Exemple

#include <iostream>
using namespace std;

int solve(double value) {
   int opVal = int(value);
   return opVal;
}

int main()
{
   double ip = -993.6571;
   int op = solve(ip);
   cout<< "The value before conversion: " << ip << endl;
   cout<< "The value after conversion: " << op << endl;
   return 0;
}
Copier après la connexion

Sortie

The value before conversion: -993.657
The value after conversion: -993
Copier après la connexion

Utilisez static_cast

Pour convertir entre des types prédéfinis, utilisez des conversions statiques. De plus, ce transtypage, qui peut également être référencé explicitement, est chargé d'appliquer la conversion de type implicite.

Grammaire

double input = < double value>;
int output = static_cast<int>(input);
Copier après la connexion

Exemple

#include <iostream>
using namespace std;

int solve(double value) {
   int opVal = static_cast<int>(value);
   return opVal;
}

int main()
{
   double ip = -65.2354;
   int op = solve(ip);
   cout<< "The value before conversion: " << ip << endl;
   cout<< "The value after conversion: " << op << endl;
   return 0;
}
Copier après la connexion

Sortie

The value before conversion: -65.2354
The value after conversion: -65
Copier après la connexion

Conclusion

La conversion d'un type de données double en un type de données entier entraîne toujours une perte de données car une variable entière ne peut pas contenir la partie fractionnaire d'une variable double. Ces conversions sont utiles lorsque nous devons arrondir une valeur à sa valeur limite inférieure (la plus petite valeur entière étant donné une valeur décimale).

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

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)

Explication détaillée de la méthode de conversion du type int en octets en PHP Explication détaillée de la méthode de conversion du type int en octets en PHP Mar 06, 2024 pm 06:18 PM

Explication détaillée de la méthode de conversion du type int en octet en PHP En PHP, nous avons souvent besoin de convertir le type entier (int) en type octet (Byte), par exemple lorsqu'il s'agit de transmission de données réseau, de traitement de fichiers ou d'algorithmes de cryptage . Cet article présentera en détail comment convertir le type int en type byte et fournira des exemples de code spécifiques. 1. La relation entre le type int et l'octet Dans le domaine informatique, le type de données de base int représente un entier, tandis que l'octet (Byte) est une unité de stockage informatique, généralement des données binaires de 8 bits.

Programme C++ pour convertir une variable de type double en type int Programme C++ pour convertir une variable de type double en type int Aug 25, 2023 pm 08:25 PM

En C++, les variables de type int ne peuvent contenir que des valeurs entières positives ou négatives ; elles ne peuvent pas contenir de valeurs décimales. Des valeurs float et double sont disponibles à cet effet. Le type de données double a été créé pour stocker des décimales jusqu'à sept chiffres après la virgule. La conversion d'un entier en type de données double peut être effectuée automatiquement par le compilateur (appelée conversion "implicite"), ou elle peut être explicitement demandée par le programmeur au compilateur (appelée conversion "explicite"). Dans les sections suivantes, nous aborderons différentes méthodes de conversion. Conversions implicites Le compilateur effectue automatiquement des conversions de type implicites. Pour y parvenir, deux variables sont nécessaires : l’une de type virgule flottante et l’autre de type entier. Lorsque nous attribuons simplement une valeur ou une variable à virgule flottante à une variable entière, le compilateur s'occupe de toutes les autres choses.

Quelle est la plage de valeurs de int32 ? Quelle est la plage de valeurs de int32 ? Aug 11, 2023 pm 02:53 PM

La plage de valeurs de int32 va de -2 à la puissance 31 à 2 à la puissance 31 moins 1, soit -2147483648 à 2147483647. int32 est un type entier signé, ce qui signifie qu'il peut représenter des nombres positifs, des nombres négatifs et zéro. Il utilise 1 bit pour représenter le bit de signe et les 31 bits restants sont utilisés pour représenter la valeur numérique. Puisqu’un bit est utilisé pour représenter le bit de signe, le nombre effectif de bits int32 est 31.

Comment convertir un int en type chaîne en langage Go Comment convertir un int en type chaîne en langage Go Jun 04, 2021 pm 03:56 PM

Méthode de conversion : 1. Utilisez la fonction Itoa(), la syntaxe « strconv.Itoa(num) » ; 2. Utilisez la fonction FormatInt() pour convertir les données de type int dans la base spécifiée et les renvoyer sous la forme d'une chaîne, la syntaxe "strconv .FormatInt(num,10)".

Combien d'octets int occupe-t-il ? Combien d'octets int occupe-t-il ? Jan 22, 2024 pm 03:14 PM

Le nombre d'octets occupés par le type int peut varier selon les langages de programmation et les différentes plates-formes matérielles. Introduction détaillée : 1. En langage C, le type int occupe généralement 2 octets ou 4 octets. Dans les systèmes 32 bits, le type int occupe 4 octets, tandis que dans les systèmes 16 bits, le type int occupe 2 octets. Dans un système 64 bits, le type int peut occuper 8 octets ; 2. En Java, le type int occupe généralement 4 octets, tandis qu'en Python, le type int n'a pas de limite d'octets et peut être automatiquement ajusté, etc.

Combien de nombres Java int a-t-il ? Combien de nombres Java int a-t-il ? Mar 06, 2023 pm 04:09 PM

En Java, int est un type de données signé 32 bits et ses variables nécessitent une mémoire 32 bits ; la plage valide du type de données int est comprise entre -2147483648 et 2147483647, et tous les entiers de cette plage sont appelés littéraux entiers. Un littéral entier peut être affecté à une variable int, telle que "int num1 = 21;".

Combien d'octets le double occupe-t-il ? Combien d'octets le double occupe-t-il ? Dec 25, 2020 am 10:36 AM

Les octets occupés par double : 1. Sous un compilateur 16 bits, double occupe 8 octets ; 2. Sous un compilateur 32 bits, double occupe 8 octets ; 3. Sous un compilateur 64 bits, double occupe 8 octets.

Que signifie int en vb Que signifie int en vb Dec 03, 2020 am 09:48 AM

Int en VB fait référence à une fonction qui prend un entier. Sa syntaxe est telle que "int(x)", ce qui signifie prendre le plus grand entier non supérieur à x. Les fonctions similaires à la fonction int incluent la fonction Fix, qui supprime la décimale ; partie et renvoie le reste, l'entier suivant.

See all articles