现在的位置: 首页 > 综合 > 正文

控制科学计数法的指数位数

2013年01月30日 ⁄ 综合 ⁄ 共 2266字 ⁄ 字号 评论关闭

默认情况下,用科学计数法表示实数,输出的指数位数为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这样的输出解决方法:

2、对于stream这样的输出解决方法:
这里只是考虑输出文件的情况。
.h file

.cpp file:

test code:

VC6下,不知还有没有更好的办法……

抱歉!评论已关闭.