C++ 浮点数的格式化显示

来源:互联网 发布:ipad装windows系统教程 编辑:程序博客网 时间:2024/05/16 14:46
#include <stdlib.h>#include <string>#include <windows.h>#include <stdio.h>#include <iostream>#include <limits>#include <sstream>using namespace std;string do_fraction(long double val, int decplaces=3){ostringstream  out;char DECIMAL_POINT='.'; // 欧洲用法为','int prec=numeric_limits<long double>::digits10; // 18out.precision(prec);//覆盖默认精度out<<val;string str= out.str(); //从流中取出字符串size_t n=str.find(DECIMAL_POINT);if ((n!=string::npos) //有小数点吗?&& (str.size()> n+decplaces)) //后面至少还有decplaces位吗?{str[n+decplaces]='\0';//覆盖第一个多余的数}str.swap(string(str.c_str()));//删除nul之后的多余字符return str;}

原创粉丝点击