2015-11-16 2 views
2

J'ai une instance mpq_class, et je veux l'afficher en tant que valeur décimale, plutôt que d'une fraction.GMP: comment écrire un nombre en tant que valeur décimale?

mpq_class nb = 1.75; 
cout << nb << endl; 

Sortie:

7/4 

Comment puis-je produire 1.75 plutôt que 7/4?

+0

Si vous consultez la documentation, il existe des fonctions membres qui feront ce que vous voulez. Par exemple, consultez les fonctions membres get_d() et/ou get_str(). –

Répondre

1

L'approche la plus simple serait probablement de convertir en mpf_class, par ex. cout << mpf_class(nb) << endl;. Vous devrez peut-être définir explicitement la précision de sortie pour éviter d'imprimer des erreurs à partir des erreurs de virgule flottante.