【发布时间】:2017-11-14 02:00:12
【问题描述】:
因此,通常如果我想在某个数字 foo 中插入适合区域设置的分隔符,我会这样做:
ostringstream out;
out.imbue(locale("en-US"));
out << foo;
然后我可以使用out.str() 作为分隔字符串:http://coliru.stacked-crooked.com/a/054e927de25b5ad0
不幸的是,我被要求不要在我当前的项目中使用stringstreams。有没有其他方法可以做到这一点?理想情况下是依赖于语言环境的方式?
【问题讨论】:
-
所以你想将一个数字转换为千位分隔的字符串或将一个字符串转换为千位分隔的字符串,还是只需要这样输出?
-
@NathanOliver 是的,显然我可以手动插入它们。但这不适合语言环境:(
-
看起来您可以使用this,但使用
sprintf而不是printf。 -
看起来那只是一个 C 特性。无赖。
-
不使用
stringstream是一个奇怪的要求。特别是如果您还必须处理语言环境。
标签: c++ locale number-formatting stringstream separator