解析C++ 浮點數的格局化顯示。本站提示廣大學習愛好者:(解析C++ 浮點數的格局化顯示)文章只能為提供參考,不一定能成為您想要的結果。以下是解析C++ 浮點數的格局化顯示正文
代碼以下所示:
#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; // 18
out.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;
}