函数
<ios> <iostream>

std::showpoint

ios_base& showpoint (ios_base& str);
显示小数点
str 流设置 showpoint 格式标志。

当设置了 showpoint 格式标志时,对于插入到流中的浮点值,总会写入小数点(即使对于小数部分为零的值也是如此)。在小数点之后,会写入所需数量的数字以匹配为流设置的精度(如果有)。

可以使用 noshowpoint 操作符来取消设置此标志。未设置时,仅对小数部分不为零的数字写入小数点。

可以使用 precision 成员函数来修改精度设置。

对于标准流,showpoint 标志在初始化时未设置

参数

str
格式标志受影响的流对象。
因为此函数是一个操纵符,它被设计为在不带参数的情况下,与流上的插入 (<<) 和提取 (>>) 操作结合使用(见下例)。

返回值

参数 str

示例

1
2
3
4
5
6
7
8
9
10
11
12
// modify showpoint flag
#include <iostream>     // std::cout, std::showpoint, std::noshowpoint

int main () {
  double a = 30;
  double b = 10000.0;
  double pi = 3.1416;
  std::cout.precision (5);
  std::cout <<   std::showpoint << a << '\t' << b << '\t' << pi << '\n';
  std::cout << std::noshowpoint << a << '\t' << b << '\t' << pi << '\n';
  return 0;
}

可能的输出
30.000  10000.  3.1416
30      10000   3.1416


数据竞争

修改 str。对同一个流对象的并发访问可能导致数据竞争。

异常安全

基本保证:如果抛出异常,str 处于有效状态。

另见