Je cherche à convertir un nombre double
en une std::string
, la conversion devrait s'afficher soit au format décimal avec 2 chiffres décimaux, soit sous forme exponentielle :
- 1 -> 1.00
- 0.1 -> 0.10
- 0.01 -> 0.01
- 0.015 -> 1.5e-2
- 10 -> 10.00
- 100 -> 100.00
- 15000 -> 1.5e4
J'ai essayé d'utiliser la fonction boost::format
avec le type %g
, mais bien qu'il soit possible de définir le nombre de chiffres significatifs, il n'est pas possible de définir le nombre de chiffres imprimés après le point décimal :
- 1 -> 1
- 0.1 -> 0.1
- 0.01 -> 0.01
- 10 -> 10
- 100 -> 100
Existe-t-il un meilleur moyen de réaliser ce type de conversion/formatage ? Je préférerais utiliser la bibliothèque Standard ou Boost.