我想在std::string
中存储数字格式,但它并不像我希望的那样工作。
代码解释了我的意思:
long long l = 3184900000;
std::cout.imbue(std::locale("de_DE.utf8"));
// output: '3.184,90' <- ok, nice! how to get this into a string?
std::cout << std::right << std::put_money(l / 10000, true);
std::stringstream ss;
ss << std::right << std::put_money(l / 10000, true);
// output: '318490' <- nope.
return ss.str(); // <- so the return value is unformatted as well.
请让我知道如何让这个工作。提前致谢。
编辑:工作代码。
long long l = 3184900000;
std::stringstream ss;
ss.imbue(std::locale("de_DE.utf8"));
ss << std::right << std::put_money(l / 10000, true);
return ss.str();