C++ ostringstream插入器是否使用当前语言环境?

C++ ostringstream插入器是否使用当前语言环境?,c++,string,double,iostream,C++,String,Double,Iostream,要在不使用科学符号的情况下将double转换为string,建议的方法是 std::ostringstream strStream; strStream << std::fixed; strStream << value; std::string str = strStream.str(); 如 我想将double转换为字符串,不使用任何分隔符,小数点为点/句号,即忽略区域设置 从描述,和,我无法确定 小数点是否在当前区域设置中?和 根据区域设置,str返回的字符串中

要在不使用科学符号的情况下将double转换为string,建议的方法是

std::ostringstream strStream;
strStream << std::fixed;
strStream << value;
std::string str = strStream.str();

我想将double转换为字符串,不使用任何分隔符,小数点为点/句号,即忽略区域设置

从描述,和,我无法确定

小数点是否在当前区域设置中?和 根据区域设置,str返回的字符串中是否会有其他分隔符,例如千个分组?
如果是按照当前语言环境设置的,那么有什么方法可以覆盖-始终以小数点/句号表示,并且没有分组?

是,流的默认区域设置是构建时的当前全局区域设置。请参见您最喜欢的参考中的basic_ios::init的描述,然后检查流的类型是否有其他功能—标准类都没有

要更改区域设置,请使用basic_ios::imbue,因此您可能需要添加

strStream.imbue(std::locale::classic());
在strStream的定义之后