Nit*_*esh 2 c++ string double iostream
要将双精度转换为不带科学记数法的字符串,建议的方法是
std::ostringstream strStream;
strStream << std::fixed;
strStream << value;
std::string str = strStream.str();
Run Code Online (Sandbox Code Playgroud)
如在 将 << 与 double 一起使用时防止 ostream 中的科学记数法&如何将 double 转换为 C++ 中的字符串?
我想将双精度转换为字符串,没有任何分隔符和点/句点作为小数点,即忽略区域设置。
从ostringstream、std::fixed和showpoint的描述中,我无法确定
如果按照当前区域设置,那么如何覆盖,以便它始终以点/句号作为小数点并且没有分组?
是的,流的默认区域设置是构建时的当前全局区域设置(请参阅basic_ios::init您最喜欢的参考中的描述,然后检查流的类型是否不会这样做 - 没有一个标准类会这样做)。
要更改区域设置,请使用basic_ios::imbue,因此您可能需要添加
strStream.imbue(std::locale::classic());
Run Code Online (Sandbox Code Playgroud)
定义之后strStream。
| 归档时间: |
|
| 查看次数: |
1437 次 |
| 最近记录: |