我正在尝试使用新的 stringstreams 方法将某些 float+int 组合转换为某种格式,但尝试查看是否有更好的方法来处理此问题:
现在使用 //string String = static_cast( &(ostringstream() << Number) )->str(); 一种模式 - 如何将其存储为格式的字符串形式 - “1.10(3)”。精度等于小数。这里的问题是这些值都不是常量。即使解决方案不能是内联函数或字符串流 - 只要它足够通用就可以。另请注意,最终计划是将此字符串用于 GDI 文本字符串。
在此先感谢-如果有人可以提供帮助。
这是我当前的示例代码(并正在寻找另一种有效的方法来完成此操作):
string Convert(float number,int decimals)
{
std::ostringstream buff;
buff<<setprecision(decimals)<<fixed<<number;
return buff.str();
}
float f=1.1; // this can have any values from 1,1.5 or 1.52
int decimals=2; //dynamic number - calculated by other means - not a fixed number
int i=3; // some dynamic number as well - calculated by other means
string s=Convert(f,decimals)+"("+Convert(i,0)+")"; // output - 1.10(3)