通过使用操纵器,特殊变量或放置在输出流上的对象,可以在标准C++库中进行格式化。浮点操纵器有两种类型,即固定浮点和科学浮点。这些都在头文件
- 精度的使用:在默认的浮点表示法中,precision字段指定要在小数点之前和之后显示的最大有效位数,而在固定和科学表示法中,precision字段均指定要精确显示多少位数。即使小数点后跟十进制零,也会显示在小数点后。
- std :: fixed –固定浮点数表示法:它以固定点数表示法写入浮点值。该值用精度字段(precision)指定的小数部分中的位数完全相同,而没有指数部分。
- std :: scientific –科学浮点表示法:它以科学点表示法写入浮点值。该值总是用小数点前的一位数字表示,其后是小数点,并且与精度字段(精度)一样多。最后,该符号始终包括由字母“ e ”组成的指数部分,后跟一个可选符号和三个指数数字。
- std :: hexfloat –十六进制浮点数表示法:以no的精度转换为十六进制格式后,它输出所需的数字。被初始化(如上例所述)。
- std :: defaultfloat – defaultfloat浮点数表示法:输出精度为no后与默认值相同的所需数字。被初始化(如上例所述)。它主要用于区分其他使用的格式,以使代码易于理解。
// C++ code to demonstrate the // working of // std::fixed // std::scientific // std::hexfloat // std::defaultfloat #include
using namespace std; int main() { // Initializing floating point variable double a = 4.223234232; double b = 2323.0; // Specifying precision cout.precision(4); // Printing normal values cout << "Normal values of floating point numbers\na = "; cout << a << "\nb = " << b << '\n' ; // Printing values using fixed ( till 4 ) cout << "Values using fixed \n" << std::fixed; cout << a << "\n" << b << '\n' ; // Printing values using scientific ( till 4 ) // after 4, exponent is used cout << "Values using scientific are : " << std::scientific << endl; cout << a << '\n' << b << '\n' ; // Printing values using hexfloat ( till 4 ) cout << "Values using hexfloat are : " << std::hexfloat << endl; cout << a << '\n' << b << '\n' ; // Printing values using defaultfloat ( till 4 ) // same as normal cout << "Values using defaultfloat are : " << std::defaultfloat << endl; cout << a << '\n' << b << '\n' ; return 0; } 输出:
Normal values of floating point numbers a = 4.223 b = 2323 Values using fixed 4.2232 2323.0000 Values using scientific are : 4.2232e+00 2.3230e+03 Values using hexfloat are : 0x1.0e49783b72695p+2 0x1.226p+11 Values using defaultfloat are : 4.223 2323
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。