Merge pull request #6427 from JosJuice/thousandseparate-encoding
StringUtil: Fix Windows encoding in ThousandSeparate
This commit is contained in:
commit
d72947d638
|
@ -45,15 +45,23 @@ std::string StripQuotes(const std::string& s);
|
||||||
template <typename I>
|
template <typename I>
|
||||||
std::string ThousandSeparate(I value, int spaces = 0)
|
std::string ThousandSeparate(I value, int spaces = 0)
|
||||||
{
|
{
|
||||||
std::ostringstream oss;
|
#ifdef _WIN32
|
||||||
|
std::wostringstream stream;
|
||||||
|
#else
|
||||||
|
std::ostringstream stream;
|
||||||
|
#endif
|
||||||
|
|
||||||
// std::locale("") seems to be broken on many platforms
|
// std::locale("") seems to be broken on many platforms
|
||||||
#if defined _WIN32 || (defined __linux__ && !defined __clang__)
|
#if defined _WIN32 || (defined __linux__ && !defined __clang__)
|
||||||
oss.imbue(std::locale(""));
|
stream.imbue(std::locale(""));
|
||||||
#endif
|
#endif
|
||||||
oss << std::setw(spaces) << value;
|
stream << std::setw(spaces) << value;
|
||||||
|
|
||||||
return oss.str();
|
#ifdef _WIN32
|
||||||
|
return UTF16ToUTF8(stream.str());
|
||||||
|
#else
|
||||||
|
return stream.str();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string StringFromBool(bool value);
|
std::string StringFromBool(bool value);
|
||||||
|
|
Loading…
Reference in New Issue