7
votes

Convertir un point décimal double en C ++

J'ai une double variable en C ++ et je veux l'imprimer à l'écran sous la forme d'un numéro de point décimal fixe.

En gros, je veux savoir comment écrire une fonction qui prend un double et un certain nombre de décimales et imprime le numéro à ce nombre de décimales, zéro remplissage si nécessaire. p>

Par exemple: P>

convert(number as double, number of decimal places)


4 Réponses :


4
votes

regarde le SetPrecision Manipulator qui devrait vous donner l'idée


0 commentaires

0
votes

Il n'existe pas de numéro "décimal fixe". La fonction convertie devra être la fonction qui l'imprime réellement. Je suggérerais d'obtenir la partie complète du nombre, puis d'imprimer. Si [décimaux]> 0 puis imprimez un endroit décimal, puis imprimez chaque décimale individuellement comme: plancher ((N * journal (10, D))% 10); <- Juste une idée, pas code réel.


0 commentaires

6
votes

En supposant que je me souvienne de mes chaînes de format correctement, xxx


0 commentaires

-1
votes
#include <iomanip>
#include <iostream.h>

// print a float, x places of precision 
void convert (double number, int x)
{
    cout << setprecision(x) << number << endl;
}

int main()
{
    double a = 1.234;
    convert (a,2);
} 
output: 1.23reference

0 commentaires