¿Cómo imprimir un número con un espacio como separador de miles?
Tengo una clase simple Moneda con operador sobrecargado <<. No sé cómo puedo separar el número con espacios cada 3 dígitos, por lo que parece: "1 234 567 ISK".
#include <cstdlib>
#include <iostream>
using namespace std;
class Currency
{
int val;
char curr[4];
public:
Currency(int _val, const char * _curr)
{
val = _val;
strcpy(curr, _curr);
}
friend ostream & operator<< (ostream & out, const Currency & c);
};
ostream & operator<< (ostream & out, const Currency & c)
{
out << c.val<< " " << c.curr;
return out;
}
int main(int argc, char *argv[])
{
Currency c(2354123, "ISK");
cout << c;
}
Lo que me interesa es, de alguna manera, la solución más fácil para esta situación particular.