fixed
描述 (Description)
它用于将str流的floatfield格式标志设置为fixed。 当浮点数设置为固定时,浮点值使用定点表示法写入:该值用精确字段(精度)指定的小数部分中的数字精确表示,并且没有指数部分。
C++98
floatfield格式标志既是选择性标志又是切换标志:它可以采用以下值中的一个,两个或都不是,如下所示 -
标志值 | 设定时的效果 |
---|---|
fixed | 以定点表示法写入浮点值 |
scientific | 用科学记数法写浮点值。 |
(none) | 以默认浮点表示法写入浮点值。 |
C++11
floatfield格式标志既是选择性标志又是切换标志:它可以采用以下任何值,如下所示:
标志值 | 设定时的效果 |
---|---|
fixed | 以定点表示法写入浮点值。 |
scientific | 用科学记数法写浮点值。 |
hexfloat | 以十六进制格式写入浮点值。 这个值与(fixed|scientific) |
defaultfloat | 以默认浮点表示法写入浮点值。 默认情况下,这是值(与none 无关 ,在设置任何其他floatfield位之前)。 |
声明 (Declaration)
以下是std :: fixed函数的声明。
ios_base& fixed (ios_base& str);
参数 (Parameters)
str - 格式标志受影响的Stream对象。
返回值 (Return Value)
它返回Argument str。
异常 (Exceptions)
Basic guarantee - 如果抛出异常,str处于有效状态。
数据竞争 (Data races)
它修改了str。 对同一流对象的并发访问可能会导致数据争用。
例子 (Example)
在下面的例子中解释了std :: fixed函数。
#include <iostream>
int main () {
double a = 3.1415926534;
double b = 2006.0;
double c = 1.0e-10;
std::cout.precision(5);
std::cout << "default:\n";
std::cout << a << '\n' << b << '\n' << c << '\n';
std::cout << '\n';
std::cout << "fixed:\n" << std::fixed;
std::cout << a << '\n' << b << '\n' << c << '\n';
std::cout << '\n';
std::cout << "scientific:\n" << std::scientific;
std::cout << a << '\n' << b << '\n' << c << '\n';
return 0;
}
让我们编译并运行上面的程序,这将产生以下结果 -
default:
3.1416
2006
1e-010
fixed:
3.14159
2006.00000
0.00000
scientific:
3.14159e+000
2.00600e+003
1.00000e-010