c++: Comment dois-je formater un double de la monnaie avec le signe du dollar?
J'ai une fonction qui prend une double et la retourne comme une chaîne de caractères avec des séparateurs de milliers. Vous pouvez le voir ici: c++: Format nombre avec une virgule?
#include <iomanip>
#include <locale>
template<class T>
std::string FormatWithCommas(T value)
{
std::stringstream ss;
ss.imbue(std::locale(""));
ss << std::fixed << value;
return ss.str();
}
Maintenant, je veux être capable de le formater comme monnaie d'un signe de dollar. Plus précisément, je veux obtenir une chaîne de caractères comme "$20,500" si, étant donné un double de 20500.
Ajoutant un signe de dollar ne fonctionne pas dans le cas de nombres négatifs parce que j'ai besoin "- de 5 000 $" non "$-5,000".
- De travail avec bureau, vous pourriez envisager de
std::put_money
. std::money_put
.
Vous devez vous connecter pour publier un commentaire.
Je pense que la seule chose que vous pouvez faire il y a
Vous avez besoin d'un endroit pour l'impression avec le séparateur de milliers.
Voici un exemple de programme que j'ai utilisé pour apprendre sur la mise en forme de la monnaie tiré de ici. Essayer et choisir ce programme en dehors et voir ce que vous pouvez utiliser.