解析C++ 浮點數(shù)的格式化顯示
更新時間:2013年05月30日 17:14:48 作者:
本篇文章是對C++中浮點數(shù)的格式化顯示進行了詳細的分析介紹,需要的朋友參考下
代碼如下所示:
#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) //有小數(shù)點嗎?
&& (str.size()> n+decplaces)) //后面至少還有decplaces位嗎?
{
str[n+decplaces]='\0';//覆蓋第一個多余的數(shù)
}
str.swap(string(str.c_str()));//刪除nul之后的多余字符
return str;
}
復制代碼 代碼如下:
#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) //有小數(shù)點嗎?
&& (str.size()> n+decplaces)) //后面至少還有decplaces位嗎?
{
str[n+decplaces]='\0';//覆蓋第一個多余的數(shù)
}
str.swap(string(str.c_str()));//刪除nul之后的多余字符
return str;
}
相關文章
C語言使用單鏈表實現(xiàn)學生信息管理系統(tǒng)
這篇文章主要為大家詳細介紹了C語言使用單鏈表實現(xiàn)學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11C++統(tǒng)計中英文大小寫字母、數(shù)字、空格及其他字符個數(shù)的方法
這篇文章主要介紹了C++統(tǒng)計中英文大小寫字母、數(shù)字、空格及其他字符個數(shù)的方法,涉及C++字符串的遍歷與簡單判定技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-05-05