kima2/src/core/utils.cpp

31 lines
841 B
C++

#include "utils.h"
#include <iomanip>
#include <numeric>
#include <codecvt>
std::string formatCentAsEuroString(const int cent, int width)
{
std::stringstream currStream;
try {
std::locale myLocale("de_DE.utf8");
currStream.imbue(myLocale);
currStream << std::right << std::setw(width) << std::showbase
<< std::put_money(cent, false);
} catch (std::runtime_error& err) {
currStream << std::fixed << std::setw(width >= 4 ? width - 4 : width)
<< std::setprecision(2) << cent / 100.0L << "";
}
return currStream.str();
}
#ifdef _WIN32
std::string convertFromUtf16ToUtf8(std::u16string& utf16String)
{
std::string u8_conv = std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}.to_bytes(utf16String);
return u8_conv;
}
#endif