命名空间
变体
操作

std::ios_base::precision

来自 cppreference.cn
< cpp‎ | io‎ | ios base
 
 
 
 
streamsize precision() const;
(1)
streamsize precision( streamsize new_precision );
(2)

管理由 std::num_put::do_put 执行的浮点输出的精度(即生成多少位数字)。

1) 返回当前精度。
2) 将精度设置为给定的值。返回之前的精度。

默认精度,由 std::basic_ios::init 建立,为 6。

目录

[编辑] 参数

new_precision - 新的精度设置

[编辑] 返回值

调用函数之前的精度

[编辑] 示例

#include <iostream>
 
int main()
{
    const double d = 12.345678901234;
    std::cout << "The  default precision is " << std::cout.precision() << "\n\n";
    std::cout << "With default precision d is " << d << '\n';
    std::cout.precision(8);
    std::cout << "With high    precision d is " << d << '\n';
}

输出

The  default precision is 6
 
With default precision d is 12.3457
With high    precision d is 12.345679

[编辑] 缺陷报告

以下行为更改缺陷报告被追溯应用于先前发布的 C++ 标准。

DR 应用于 已发布行为 正确行为
LWG 189 C++98 “precision” 被定义为“小数点后的位数”,
但在某些情况下是不正确的
已更正

[编辑] 参见

管理字段宽度
(public member function) [编辑]
更改浮点精度
(function) [编辑]