0%

C++基础之格式化输出

[TOC]

使用printf()函数进行格式化输出:

1
2
3
4
5
6
7
8
9
10
11
12
//头文件
#include<iostream>

double price = 19.99;
int quantity = 5;

printf("Total price: $%.2f\n", price * quantity);
printf("Quantity: %04d\n", quantity);

/*
%.2f用于格式化输出小数点后两位;%04d用于设置输出占据宽度为4,并在前面填充零。
*/

使用<<运算符和格式控制符进行输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//头文件
#include<iostream>
#include<iomanip>

double pi = 3.14159;
int num = 42;

std::cout << "Pi: " << std::fixed << std::setprecision(2) << pi << std::endl;
std::cout << "Number: " << std::setw(5) << std::setfill('0') << num << std::endl;

/*
std::fixed和std::setprecision(2)用于固定小数位并设置精度为两位小数。
std::setw(5)和std::setfill('0')用于设置输出宽度为5,并在前面填充零。
*/

使用字符串流(stringstream)进行格式化输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//头文件
#include <sstream>

double weight = 65.5;
int age = 30;

std::stringstream ss;
ss << "Weight: " << std::fixed << std::setprecision(1) << weight << "kg\n";
ss << "Age: " << age << " years old\n";

std::cout << ss.str();

/*
将要输出的内容逐个写入字符串流中,然后通过ss.str()将字符串流的内容转换为字符串进行输出。
*/