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 :
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); code> <- Juste une idée, pas code réel. p>
En supposant que je me souvienne de mes chaînes de format correctement,
#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
Cplusplus.com/reference/iostream/manipulators/SetPrecision