青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

力為的技術博客

聯系 聚合 管理
  154 Posts :: 1 Stories :: 561 Comments :: 0 Trackbacks

 

默認情況下,用科學計數法表示實數,輸出的指數位數為3。如何控制使其只輸出2位指數位?VC6下如何?VC2005又如何?

在VC2005下,運行庫提供一個函數_set_output_format可以控制printf輸出的實數的指數位,要輸

出2位指數位需要這樣設置:
unsigned int  old_exponent_format = _set_output_format(_TWO_DIGIT_EXPONENT);
使用完恢復原來設置:
_set_output_format(old_exponent_format);

在VC6中沒有此函數,相同功能的函數我也沒有發現。
在C++標準庫中的stream中,我也沒有找到這樣的格式控制符。為了在VC6下完成此功能,最后只能

選擇曲線救國的道路了——刪除一個0。

1、對于printf這樣的輸出解決方法:

void EraseZeroPlus(std::string& str, string::size_type pos)
{
    
string::size_type  pos1= str.find("E+", pos);

    
if(pos1 == string::npos)
        
return;
    
    pos1 
+=2;
    str.erase(pos1, 
1);

    EraseZeroPlus(str, pos1);
}

void EraseZeroMinus(std::string& str, string::size_type pos)
{
    
string::size_type  pos1= str.find("E-", pos);

    
if(pos1 == string::npos)
        
return;
    
    pos1 
+=2;
    str.erase(pos1, 
1);

    EraseZeroMinus(str, pos1);
}


void EraseZero(char* szBuf, FILE* pFile)
{
    
string str(szBuf);
    EraseZeroPlus(str, 
0);
    EraseZeroMinus(str, 
0);
    fputs(str.c_str(), pFile);
}

 

2、對于stream這樣的輸出解決方法:
這里只是考慮輸出文件的情況。
.h file

template<class _E, class _Tr = std::char_traits<_E> >
class my_ofstream  : public std::basic_ofstream<_E, _Tr>
{
public:
    my_ofstream()
{m_nPrecision = 5}
    
explicit my_ofstream(const char *_S,
        ios_base::openmode _M 
= out | trunc) 
        : std::basic_ofstream
<_E, _Tr>(_S, _M)
    
{
        m_nPrecision 
= 5;
    }

    
void set_precision(int nPre)
    
{
        m_nPrecision 
= nPre;
    }

    
int get_precision(void)
    
{
        
return m_nPrecision;
    }

    
virtual ~my_ofstream(){}
private:
    
int m_nPrecision;
}
;

typedef my_ofstream
<char> myofstream;

// overload operator for double and float value    
myofstream& operator<< (myofstream& strm, float value);
myofstream
& operator<< (myofstream& strm, double value);

.cpp file:
void erase_one_zero(std::string& str)
{
    
using namespace std;
    
string::size_type  pos= str.length() - 3;
    str.erase(pos, 
1);
}

myofstream
& operator<< (myofstream& strm, const float value)
{
    
using namespace std;
    
    ostringstream oss;
    oss 
<< scientific << showpoint << setprecision(strm.get_precision()) << value;
    std::
string str(oss.str());
    erase_one_zero(str);
    
    strm 
<< str;
    
    
return strm;
}


myofstream
& operator<< (myofstream& strm,  const double value)
{
    
using namespace std;
    
    ostringstream oss;
    oss 
<< scientific << showpoint << setprecision(strm.get_precision()) << value;
    std::
string str(oss.str());
    erase_one_zero(str);
    
    strm 
<< str;
    
    
return strm;
}

test code:
int main(int argc, char* argv[])
{
    
using namespace std;

    myofstream fout(
"out.txt");
    fout 
<< "out put scientific format: \n";
    fout 
<< 3654.002 << endl;
    fout 
<< 0.145f << endl;

    fout.set_precision(
6);
    fout 
<< 3654.002 << endl;
    fout 
<< 0.145f << endl;    

    
return 0;
}

VC6下,不知還有沒有更好的辦法……
posted on 2005-12-18 20:39 力為 閱讀(5867) 評論(0)  編輯 收藏 引用 所屬分類: 4. C++ FAQ
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久都是精品| 亚洲国产国产亚洲一二三| 性娇小13――14欧美| 亚洲国产精品小视频| 欧美一级片久久久久久久| 亚洲国产精品va在线看黑人| 欧美日韩精品欧美日韩精品一| 欧美在线观看一区二区三区| 一区二区三区四区五区精品视频 | 欧美成人高清视频| 亚洲一区高清| 亚洲美女福利视频网站| 美国十次了思思久久精品导航| 亚洲天堂av高清| 在线观看av不卡| 亚洲第一综合天堂另类专| 国产精品福利久久久| 欧美国产亚洲另类动漫| 开心色5月久久精品| 日韩午夜高潮| 欧美黄色一级视频| 美女久久网站| 免播放器亚洲一区| 久久国产精品亚洲77777| 午夜精品www| 午夜精品国产精品大乳美女| 亚洲一区尤物| 亚洲男人的天堂在线| 亚洲视频在线一区| 亚洲在线播放电影| 一本色道久久88精品综合| 亚洲人成网站精品片在线观看| 精品动漫3d一区二区三区| 国产综合网站| 韩国成人理伦片免费播放| 国产视频欧美| 国语自产精品视频在线看| 国产午夜精品久久久久久久| 国产三级欧美三级| 国产亚洲精品一区二555| 国产一区二区三区久久悠悠色av| 国产欧美日韩免费| 国产欧美大片| 国内精品美女av在线播放| 国产日韩欧美精品一区| 国内成人自拍视频| 国产自产精品| 亚洲大胆美女视频| 亚洲精品在线看| 一区二区三区国产盗摄| 欧美一级电影久久| 亚洲精品一区在线| 亚洲天堂黄色| 久久精品中文字幕免费mv| 久久伊人免费视频| 欧美精品自拍偷拍动漫精品| 欧美理论在线播放| 国产精品女主播| 国产区精品视频| 尤物99国产成人精品视频| 亚洲人成网站在线观看播放| 亚洲一区二区精品在线观看| 欧美一区二区在线看| 麻豆成人在线观看| 亚洲美女黄网| 久久se精品一区二区| 免费观看成人www动漫视频| 欧美涩涩视频| 韩日在线一区| 99精品视频一区| 午夜视频一区二区| 牛夜精品久久久久久久99黑人| 亚洲夫妻自拍| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲免费一区二区| 久久色中文字幕| 国产精品福利影院| 亚洲高清影视| 亚洲自拍16p| 久久视频免费观看| 一本大道久久精品懂色aⅴ| 久久不射网站| 欧美日韩一区精品| 国产在线欧美| 日韩午夜av| 久久久99爱| 在线观看一区二区视频| 欧美日韩一区二区精品| 玉米视频成人免费看| 亚洲线精品一区二区三区八戒| 久久精品亚洲一区二区| 亚洲人成在线播放网站岛国| 欧美一区二区三区四区在线观看 | 巨乳诱惑日韩免费av| 亚洲精品乱码久久久久久日本蜜臀| 新狼窝色av性久久久久久| 欧美欧美全黄| 亚洲国产日韩欧美| 欧美在线视频二区| 一本色道**综合亚洲精品蜜桃冫| 久久先锋影音| 国产亚洲人成a一在线v站 | 久久香蕉国产线看观看av| 一本久久精品一区二区| 免费在线成人| 在线国产欧美| 久久久久久网址| 亚洲在线一区二区三区| 欧美美女bbbb| 99re热这里只有精品视频| 免费久久99精品国产自| 亚洲一区二区三区四区在线观看| 欧美激情精品久久久六区热门| 国内精品视频久久| 午夜国产欧美理论在线播放| 亚洲人成亚洲人成在线观看| 欧美va亚洲va国产综合| 在线日韩av片| 免费久久99精品国产自在现线| 欧美一级大片在线观看| 欧美国产日韩一区二区在线观看| 麻豆视频一区二区| 久久精品三级| 韩国精品在线观看| 久久性天堂网| 久久国产主播| 在线成人激情视频| 老司机精品视频一区二区三区| 久久福利一区| 黄色亚洲精品| 欧美国产日本韩| 免费在线观看日韩欧美| 亚洲区一区二| 亚洲精品久久| 欧美午夜精品久久久| 亚洲欧美国产不卡| 亚洲影视在线| 国产主播精品| 欧美电影打屁股sp| 欧美久久久久久蜜桃| 一区二区三区**美女毛片| 一区二区三区国产在线| 国产精品视频久久久| 久久精品人人做人人爽| 久久精品欧美日韩| 亚洲欧洲在线视频| 夜夜嗨av一区二区三区四区| 欧美三级午夜理伦三级中文幕 | 欧美一级日韩一级| 欧美亚洲综合久久| 亚洲国产一区二区三区青草影视 | 亚洲精选久久| 夜夜夜久久久| 国产一区在线观看视频| 狂野欧美激情性xxxx| 久久精品久久99精品久久| 开心色5月久久精品| 欧美chengren| 一区二区三区四区五区精品| 亚洲图片你懂的| 韩国av一区二区三区| 亚洲国产精品激情在线观看| 欧美日韩在线一二三| 久久精品网址| 欧美精品系列| 久久av资源网站| 欧美成人性网| 欧美在线观看网址综合| 久久久亚洲国产美女国产盗摄| 亚洲日本va午夜在线电影| 亚洲天堂av在线免费观看| 精品1区2区3区4区| 亚洲美女视频网| 国产日韩一区在线| 亚洲国产日韩欧美一区二区三区| 欧美日韩在线免费| 久久综合免费视频影院| 欧美日韩岛国| 久久夜色精品国产欧美乱极品| 欧美精品啪啪| 久久综合网络一区二区| 欧美美女福利视频| 老鸭窝毛片一区二区三区| 欧美亚男人的天堂| 欧美第一黄网免费网站| 国产伦精品一区二区| 亚洲人被黑人高潮完整版| 国产一区二区中文| 99这里有精品| 亚洲第一级黄色片| 中文欧美日韩| 亚洲激情电影中文字幕| 性伦欧美刺激片在线观看| 91久久久国产精品| 久久av一区二区三区漫画| 在线亚洲免费| 蜜桃久久av| 蜜桃av一区二区| 欧美日韩一区二区视频在线| 亚洲第一黄色|