Biorąc pod uwagę następujący kod:Jak ustawić ustawienia regionalne cout, aby wstawiać przecinki jako separatory tysięcy?
cout << 1000;
chciałbym następujący wynik:
1,000
Można to zrobić za pomocą std :: lokum, a cout.imbue() funkcji, ale obawiam Być może brakuje mi tu kroku. Czy możesz to zauważyć? Obecnie kopiuję bieżące ustawienia narodowe i dodaje aspekt separatora tysięcy, ale przecinek nigdy nie pojawia się w moich wynikach.
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;
}
Czy próbowałeś skompilować dokładny kod, który według nas ma być używany? –
możliwy duplikat [Czy istnieje wbudowana funkcja, która przecina przecinkami liczbę w C, C++ lub JavaScript?] (Http://stackoverflow.com/questions/3479485/is-there-a-built-in- funkcja-to-przecinki-separuje-a-numer-in-cc-lub-javascri) –
Czy jest jakiś memelak? –