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

力為的技術博客

聯系 聚合 管理
  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>
            国产精品美女久久久浪潮软件| 欧美午夜在线| 亚洲片在线观看| 久久久国产视频91| 欧美在线播放一区| 午夜视频在线观看一区| 久久超碰97人人做人人爱| 99亚洲视频| 亚洲影院污污.| 久久视频国产精品免费视频在线| 午夜一级久久| 美女999久久久精品视频| 欧美电影免费观看高清完整版| 亚洲国产精品视频一区| 亚洲最黄网站| 欧美伊人久久久久久午夜久久久久| 欧美一区亚洲一区| 欧美欧美天天天天操| 国产欧美日韩中文字幕在线| 韩日午夜在线资源一区二区| 亚洲人成啪啪网站| 欧美另类变人与禽xxxxx| 久久riav二区三区| 欧美电影打屁股sp| 欧美freesex交免费视频| 欧美黄污视频| 亚洲免费视频一区二区| 欧美在线观看天堂一区二区三区 | 亚洲欧洲一区二区在线观看| 亚洲国产精品激情在线观看| 亚洲一区日韩在线| 欧美日韩亚洲视频一区| 亚洲激情电影在线| 欧美国产精品va在线观看| 久久精品一区四区| 国产日本欧洲亚洲| 久久精品国产免费观看| 亚洲欧美日韩国产另类专区| 国产毛片精品视频| 欧美一区二区视频97| 午夜精品久久久久久久99热浪潮| 男女激情久久| 99www免费人成精品| 99热免费精品在线观看| 国产精品成人一区二区| 久久久久久电影| 欧美大胆成人| 久久精品亚洲精品国产欧美kt∨| 亚洲欧美国产三级| 亚洲国内精品在线| 亚洲无限乱码一二三四麻| 久久国产精品久久久久久| 亚洲一区二区三区四区在线观看 | 久久精品视频播放| 亚洲激情一区| 午夜精品区一区二区三| 91久久精品美女高潮| 国产精品入口麻豆原神| 久久人人爽人人爽| 国产精品美腿一区在线看| 久热国产精品视频| 国产精品婷婷| 亚洲人在线视频| 在线精品国产欧美| 午夜欧美大片免费观看 | 欧美在线资源| 亚洲一二三级电影| 欧美精品一区在线播放| 久久久夜色精品亚洲| 国产亚洲欧美日韩美女| 一本色道精品久久一区二区三区| 好吊视频一区二区三区四区| 99xxxx成人网| 欧美日韩另类综合| av成人手机在线| 欧美电影免费观看网站| 欧美在线综合视频| 国产日韩亚洲| 久久精品视频在线| 欧美一区二区三区免费视| 久久亚洲精品一区| 欧美第一黄网免费网站| 欧美高清视频免费观看| 一区二区三区亚洲| 久久久久久亚洲综合影院红桃| 欧美怡红院视频| 欧美乱大交xxxxx| 99精品国产在热久久| 性久久久久久久| 国产毛片精品视频| 久久久久久久国产| 亚洲高清av在线| 亚洲精品资源美女情侣酒店| 美腿丝袜亚洲色图| 亚洲激情网站| 99在线视频精品| 国产精品视频网站| 久久久精品久久久久| 每日更新成人在线视频| 一区二区久久久久| 激情国产一区| 欧美日韩精品一本二本三本| 亚洲一区二区伦理| 欧美1区视频| 香蕉久久国产| 亚洲精品网站在线播放gif| 国产日韩精品综合网站| 欧美成黄导航| 欧美一区二区福利在线| 亚洲日本成人网| 欧美在线免费观看亚洲| 在线成人www免费观看视频| 欧美午夜精品理论片a级按摩| 欧美在线影院在线视频| 99综合视频| 亚洲国产成人精品久久久国产成人一区| 亚洲高清视频在线观看| 国产精品久久久久久亚洲调教| 久久综合影音| 免费在线观看一区二区| 日韩视频免费在线| 亚洲国产日韩欧美综合久久| 国产一区欧美日韩| 国产一区二区三区久久悠悠色av| 欧美三级免费| 欧美视频日韩| 国产亚洲欧美日韩日本| 欧美午夜精品久久久| 欧美午夜不卡在线观看免费 | 久久九九精品| 欧美中文在线视频| 久久综合色天天久久综合图片| 亚洲制服少妇| 欧美一级精品大片| 久久精品最新地址| 欧美成人官网二区| 国产精品进线69影院| 国产日韩欧美一区二区三区四区| 国产日韩欧美成人| 91久久精品一区二区三区| 日韩午夜高潮| 久久久久国产精品一区| 亚洲电影在线看| 午夜久久影院| 国产情侣久久| 亚洲最新色图| 麻豆精品一区二区av白丝在线| 亚洲高清自拍| 翔田千里一区二区| 欧美成人午夜| 国产亚洲一区二区在线观看| 99视频在线精品国自产拍免费观看 | 欧美午夜视频在线观看| 国产嫩草影院久久久久| 久久久.com| 国产日韩精品在线| 亚洲一区一卡| 免费观看亚洲视频大全| 亚洲一区二区免费看| 国产精品大片免费观看| 亚洲精品在线观看免费| 亚洲激情一区二区| 欧美日韩成人在线视频| 99re66热这里只有精品4| 亚洲激情在线观看| 欧美午夜不卡视频| 性色av一区二区三区在线观看 | 99视频一区| 一区二区欧美亚洲| 欧美精品久久久久久| 日韩西西人体444www| 中文在线不卡视频| 国产一区二区三区精品久久久| 亚洲欧美激情诱惑| 欧美一区二区视频观看视频| 国产精品一区二区三区久久| 久久精品午夜| 欧美精品亚洲精品| 欧美在线一二三四区| 欧美成年网站| 久久精品国产免费| 久久久精品国产免大香伊| 日韩亚洲欧美精品| 久久岛国电影| 正在播放日韩| 欧美一区二区三区在线观看视频 | 国产夜色精品一区二区av| 欧美国产专区| 国产精品一区久久| 免费中文字幕日韩欧美| 亚洲国产精品va在线看黑人动漫| 国产精品社区| 亚洲深夜影院| 99视频精品| 欧美电影免费观看| 欧美99久久| 在线看国产一区| 久久亚洲视频| 亚洲国产精品成人精品 | 久久综合九九|