2018-08-02 13:06:37 +02:00
|
|
|
#include "utils.h"
|
|
|
|
|
|
|
|
#include <iomanip>
|
|
|
|
#include <numeric>
|
|
|
|
|
|
|
|
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) {
|
2018-08-08 09:25:37 +02:00
|
|
|
currStream << std::fixed << std::setw(width >= 4 ? width - 4 : width) << std::setprecision(2) << cent / 100.0L
|
2018-08-02 13:06:37 +02:00
|
|
|
<< " €";
|
|
|
|
}
|
|
|
|
|
|
|
|
return currStream.str();
|
2018-08-08 09:25:37 +02:00
|
|
|
}
|