Dado el siguiente código:¿Cómo se establece la configuración regional cout para insertar comas como separadores de miles?
cout << 1000;
Me gustaría que el siguiente resultado:
1,000
Esto se puede hacer usando std :: local, y la función cout.imbue(), pero me temo Me puede estar perdiendo un paso aquí. ¿Puedes distinguirlo? Actualmente estoy copiando la configuración regional actual y agregando una faceta separadora de miles, pero la coma nunca aparece en mi salida.
template<typename T> class ThousandsSeparator : public numpunct<T> {
public:
ThousandsSeparator(T Separator) : m_Separator(Separator) {}
protected:
T do_thousands_sep() const {
return m_Separator;
}
private:
T m_Separator;
}
main() {
cout.imbue(locale(cout.getloc(), new ThousandsSeparator<char>(',')));
cout << 1000;
}
¿Ha intentado compilar el código exacto que desea que creamos que está utilizando? –
posible duplicado de [¿Existe una función incorporada que separe coma un número en C, C++ o JavaScript?] (Http://stackoverflow.com/questions/3479485/is-there-a-built-in- function-that-comma-separates-a-number-in-cc-or-javascri) –
¿Hay un memleak? –