使用gcc中的printf控制浮点数的指数位数

时间:2016-09-16 14:04:00

标签: c++ printf

我正在使用mingw-gcc,我想要打印float

#include <cstdio>
#include <iostream>

int main(){
  float a =1.23;
  std::cout << std::scientific << a << std::endl;
  printf("%e\n",a);
  return 0;
}

输出

1.230000e+000
1.230000e+000

但浮动不需要超过两位数。 在gcc中是否有任何方法可以导出带有2位指数的数字?

1.230000e+00
1.230000e+00

是否有类似Visual Studio的_set_output_format的功能?

1 个答案:

答案 0 :(得分:2)

至少就printf而言,seems可以将环境变量PRINTF_EXPONENT_DIGITS设置为2并使用-posix开关进行编译({3}}在Windows 10的全新安装上使用mingw g ++ 5.3.0进行测试