本文整理汇总了C++中std::ostringstream::precision方法的典型用法代码示例。如果您正苦于以下问题:C++ ostringstream::precision方法的具体用法?C++ ostringstream::precision怎么用?C++ ostringstream::precision使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类std::ostringstream
的用法示例。
在下文中一共展示了ostringstream::precision方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Ex
///Create a test harness that runs tests matching the substrings
///passed on the command line. argc and argv are interpreted as if
///they were the arguments to main. If no substrings are given
///(that is, no arguments are passed), all tests are run, as if one
///argument of an empty string had been given.
GTestHarness(int argc, char**argv)
{
//Make list of test names to match
if(argc < 2){
m_testNameSubstr.push_back("");
}else{
for(int i = 1; i < argc; ++i){
m_testNameSubstr.push_back(argv[i]);
}
}
//Ready performance stats
char buf[256];
if(GApp::appPath(buf, 256, true) == -1)
throw Ex("Failed to retrieve app path");
if(chdir(buf) != 0)
throw Ex("Failed to change the dir to the app folder");
m_testTimes.flags(std::ios::showpoint | std::ios::skipws | std::ios::dec | std::ios::fixed | std::ios::left);
m_testTimes.width(PERF_FILE_CHARS);
m_testTimes.precision(PERF_FILE_CHARS - 3);
string s;
GTime::appendTimeStampValue(&s, "-", " ", ":", false);
m_testTimes << s;
}
示例2: switch
// 通过libxl库读取单元格内容,本接口速度较快,但不支持公式(只能读取公式的内容,无法得到公式计算结果)
std::string& libxl_get_cell_str(libxl::Sheet &sheet, int row, int col)
{
static const int prec=std::numeric_limits<long long>::digits10 + 10; // 18
static std::string result;
libxl::CellType cell_type = sheet.cellType(row, col);
switch (cell_type)
{
case libxl::CELLTYPE_STRING:
{
//字符串
const wchar_t *w = sheet.readStr(row, col);
//const std::wstring wstr(w);
return strtool::wstring2string(w);
}
case libxl::CELLTYPE_NUMBER:
{
static std::ostringstream o;
o.str("");
o.precision(prec);//覆盖默认精度
double dd = sheet.readNum(row, col);
o << dd;
result = o.str();
break;
}
default:
result = "";
break;
}
return result;
}
示例3: tm
// 通过ole的方式读取单元格内容,由于ole才支持公式,所以tokit只在单元格含公式时才调用本接口,除此之外通过libxl库来调用,因为libxl读取速度快很多
std::string& ole_get_cell_str(COleSafeArray &ole_safe_array, int row, int col)
{
static const int prec=std::numeric_limits<long long>::digits10 + 10; // 18
static COleVariant vResult;
static CString str;
//字符串
static long read_address[2];
static VARIANT val;
static std::string result;
read_address[0] = row;
read_address[1] = col;
ole_safe_array.GetElement(read_address, &val);
vResult = val;
switch(vResult.vt){
case VT_BSTR:
{
//字符串
const wchar_t *w = vResult.bstrVal;
// const std::wstring wstr(w);
return strtool::wstring2string(w);
}
//单元格空的
case VT_EMPTY:
//整数
case VT_INT:
result = "";
break;
//8字节的数字
case VT_R8:
{
static std::ostringstream oss;
oss.str("");
oss.precision(prec);//覆盖默认精度
oss << vResult.dblVal;
result = oss.str();
break;
}
//时间格式
case VT_DATE:
{
SYSTEMTIME st;
VariantTimeToSystemTime(vResult.date, &st);
CTime tm(st);
str = tm.Format("%Y-%m-%d");
break;
}
default:
result = "";
break;
}
return result;
}
示例4: SVC_CrosshairAngle_ToString_Internal
void SVC_CrosshairAngle_ToString_Internal(std::ostringstream& out, NetMsg::SVC_CrosshairAngle* data)
{
const std::streamsize oldPrecision = out.precision();
out << "svc_CrosshairAngle:"
<< std::setprecision(1) << std::fixed
<< " (" << data->angle.x
<< " " << data->angle.y
<< " " << data->angle.z << ")"
<< std::setprecision(oldPrecision);
out.unsetf(std::ios_base::floatfield);
}
示例5: s2cellidToJson
void s2cellidToJson(S2CellId* s2cellid, std::ostringstream& stringStream, bool last) {
S2Cell cell(*s2cellid);
S2LatLng center(cell.id().ToPoint());
stringStream.precision(30);
stringStream << "{" << endl
<< "\"id\": \"" << cell.id().id() << "\"," << endl
<< "\"id_signed\": \"" << (long long)cell.id().id() << "\"," << endl
<< "\"token\": \"" << cell.id().ToToken() << "\"," << endl
<< "\"pos\":" << cell.id().pos() << "," << endl
<< "\"face\":" << cell.id().face() << "," << endl
<< "\"level\":" << cell.id().level() << "," << endl
<< "\"ll\": { " << endl
<< "\"lat\":" << center.lat().degrees() << "," << endl
<< "\"lng\":" << center.lng().degrees() << "" << endl
<< "}," << endl
<< "\"shape\": [ " << endl;
for (int i = 0; i < 4; i++) {
S2LatLng vertex(cell.GetVertex(i));
stringStream << "{ " << endl
<< "\"lat\":" << vertex.lat().degrees() << "," << endl
<< "\"lng\":" << vertex.lng().degrees() << "" << endl
<< "}" << endl;
if (i != 3) {
stringStream << ",";
}
}
stringStream
<< "]" << endl
<< "}";
if (!last) {
stringStream << ",";
}
stringStream << endl;
}
示例6: invalid_argument
if (qs.size() < 2)
throw std::invalid_argument(Exception(String("joint waypoint text file must contain at least 2 'waypoint' vectors")));
init(qs,times,deltas);
}
else { // output
std::ostringstream out;
// comment header
out << "# Joint waypoint trajectory [joint positions & times (at-end)]" << std::endl;
out << "# the following line should be 'absolute' for absolute qi's & t values or 'relative' if the vectors represent inter-waypoint deltas dqi's & dt" << std::endl;
out << "absolute" << std::endl; // not "relative"
out << "# q0 q1 ... qn t" << std::endl;
std::ostream::fmtflags savedFlags = out.setf(std::ios_base::dec | std::ios_base::right);
Int savedPrec = out.precision(10);
Int savedWidth = out.width(13);
const Int dof=qs[0].size();
// this is a hack, as under gcc the flags don't appear to stay set after an output op (!?)
#define setflags \
out.setf(std::ios_base::dec | std::ios_base::right); \
out.precision(10); \
out.width(13);
setflags;
for(Int i=0; i<qs.size(); i++) {
Vector q(qs[i]);
Time t(times[i]);
for(Int e=0; e<dof; e++)