解析C++浮動小数点数のフォーマット表示
1178 ワード
コードは次のとおりです.
#include
#include
#include
#include
#include
#include
#include
using namespace std;
string do_fraction(long double val, int decplaces=3)
{
ostringstream out;
char DECIMAL_POINT='.'; // ','
int prec=numeric_limits::digits10; // 18
out.precision(prec);//
out< 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;
}