Maison  >  Article  >  développement back-end  >  Programme C++ pour imprimer les valeurs dans un format spécifié

Programme C++ pour imprimer les valeurs dans un format spécifié

王林
王林avant
2023-09-03 12:33:08970parcourir

Programme C++ pour imprimer les valeurs dans un format spécifié

Supposons que nous ayons trois valeurs doubles. Nous devons les formater et les imprimer comme suit.

  • Nous devons imprimer la partie entière de la première valeur au format hexadécimal minuscule.

  • Nous devons imprimer la deuxième valeur à deux décimales et la faire précéder d'un signe pour indiquer si elle est positive ou négative. La deuxième valeur à imprimer doit être justifiée à droite, longue de 15 caractères et soulignée aux positions inutilisées à gauche.

  • Nous devons imprimer la troisième valeur en notation scientifique avec neuf décimales.

Donc si l'entrée est 256.367, 5783.489, 12.5643295643, la sortie sera

0x100
_______+5783.49
1.256432956E+01

Pour résoudre ce problème nous suivrons les étapes suivantes :

  • hex flag pour imprimer la valeur au format hexadécimal, showbase Le flag affiche le préfixe « 0x » pour les valeurs hexadécimales, l'indicateur de gauche insère des caractères de remplissage dans le champ de sortie pour compléter la valeur à droite et l'indicateur majuscule imprime la sortie en lettres minuscules.

  • le drapeau droit insère des caractères de remplissage dans le champ de sortie pour compléter la valeur à gauche, le drapeau fixe imprime la valeur en notation à virgule fixe, set(15) définit la longueur du champ de sortie à 15, le drapeau showpos insère '+ avant le Output ', setfill('_') remplit la sortie avec des traits de soulignement et setprecision() définit la précision de la valeur à 2 décimales.

  • setprecision() définit la précision de la valeur à 9 décimales, le drapeau scientifique imprime la valeur en notation scientifique, uppercase met la valeur de sortie en majuscule et noshowpos omet tout signe positif avant la valeur de sortie.

Voyons l'implémentation ci-dessous pour une meilleure compréhension :

#include <iostream>
#include <iomanip>
using namespace std;

void solve(double a, double b, double c) {
   cout << hex << showbase << nouppercase << left << (long long) a << endl;
   cout << right << fixed << setw(15) << setfill(&#39;_&#39;) << setprecision(2) << showpos << b << endl;
   cout << setprecision(9) << scientific << uppercase << noshowpos << c << endl;
}
int main() {
   solve(256.367, 5783.489, 12.5643295643);
   return 0;
}

Input

256.367, 5783.489, 12.5643295643

Output

0x100
_______+5783.49
1.256432956E+01

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer