C++ Primer 5th笔记(chap 17 标准库特殊设施)指定浮点数记数法

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ Primer 5th笔记(chap 17 标准库特殊设施)指定浮点数记数法相关的知识,希望对你有一定的参考价值。

1. 可以强制一个流使用科学记数法、 定点十进制或是十六进制记数法。

  • 操纵符 scientific 改变流的状态来使用科学记数法。

  • 操纵符 fixed 改变流的状态来使用定点十进制

  • hexfloat 也可以强制浮点数使用十六进制格式。

  • defaultfloat 操纵符将流恢复到默认状态—根据要打印的值选择记数法

1.1 按列打印

在执行 scientific, fixed 或hexfloat 后, 精度值控制的是小数点后面的数字位数, 而默认情况下精度值指定的是数字的总位数—既包括小数点之后的数字也包括小数点之前的数字。 使用 fixed 或
scientific 令我们可以按列打印数值, 因为小数点距小数部分的距离是固定的

cout << "default format: " << 100 * sqrt(2.0) << '\\n'
		<< "scientific: " << scientific << 100 * sqrt(2.0) << '\\n'
		<< "fixed decimal: " << fixed << 100 * sqrt(2.0) << '\\n'
		<< "hexidecimal: " << uppercase << hexfloat << 100 * sqrt(2.0) << '\\n'
		<< "use defaults: " << defaultfloat << 100 * sqrt(2.0)
		<< endl;

输出

default format: 141.421
scientific: 1.414214e+002
fixed decimal: 141.421356
hexadecimal: Oxl.lad7bcp+7
use defaults: 141.421

1.2 打印小数点

默认情况下, 当一个浮点值的小数部分为 0 时, 不显示小数点。

  • showpoint 操纵符:强制打印小数点
  • noshowpoint 操纵符:恢复默认行为
cout « 10.0 « endl;// 打印 10
cout « showpoint << 10.0 / / 打印 10.0000
« noshowpoint « endl; / / 恢复小数点的默认格式

以上是关于C++ Primer 5th笔记(chap 17 标准库特殊设施)指定浮点数记数法的主要内容,如果未能解决你的问题,请参考以下文章

C++ Primer 5th笔记(chap 17 标准库特殊设施)输出补白

C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型

C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式

C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 返回多个值

C++ Primer 5th笔记(chap 17 标准库特殊设施)控制输入格式

C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset操作