std::cout输出浮点数的设置

cout<<fixed //用一般的方式输出浮点型,例如C++程序在控制台显示大一点的数,显示的时候使用了科学计数法,使用该命令即可像一般的方式显示
cout.precision(10) //设置精确度为2,并返回上一次的设置。

在C++中,使用库中的std::cin进行输入, std::cout进行输出,同时可以结合库来控制输出格式。 练习以下代码,通过执行结果学习C++中的输入与输出,以及数据的格式化。 #include <iostream> #include <iomanip> int main() { int int_num; float float_num; double double_num; // 输入int类型数据 std::cout << "请输入一个整数: "; std::cin >> int_num; // 输入float类型数据 std::cout << "请输入一个单精度浮点数: "; std::cin >> float_num; // 输入double类型数据 std::cout << "请输入一个双精度浮点数: "; std::cin >> double_num; // 输出int类型数据的不同格式 std::cout << "以十进制输出整数: " << int_num << std::endl; std::cout << "以八进制输出整数: " <<std::oct<< int_num <<std::endl; std::cout << "以十六进制输出整数: " << std::hex << int_num <<std::endl; std::cout << "以十六进制输出整数(大写字母): " << std::uppercase << std::hex << int_num << std::endl; std::cout << std::dec; // 恢复为十进制输出 // 输出float类型数据的不同格式 std::cout << "以默认精度输出单精度浮点数: " << float_num << std::endl; std::cout << "以两位小数精度输出单精度浮点数: " << std::fixed<< std::setprecision(2) << float_num << std::endl; std::cout << "以科学计数法输出单精度浮点数: " << std::scientific << float_num << std::endl; std::cout << "以科学计数法输出单精度浮点数(大写字母): " << std::uppercase << std::scientific << float_num << std::endl; std::cout << std::defaultfloat; // 恢复默认输出格式 // 输出double类型数据的不同格式 std::cout << "以默认精度输出双精度浮点数: " << double_num << std::endl; std::cout << "以三位小数精度输出双精度浮点数: " << std::fixed << std::setprecision(3) << double_num << std::endl; std::cout << "以科学计数法输出双精度浮点数: " << std::scientific << double_num << std::endl; std::cout << "以科学计数法输出双精度浮点数(大写字母): " << std::uppercase << std::scientific << double_num << std::endl; return 0; } 输出代码
03-25
### 设置 `std::cout` 的输出格式 #### 成员函数方式 通过调用 `ostream` 对象中的成员函数可以改变输出流的行为。这些成员函数允许修改诸如精度、宽度以及填充字符等属性。 ```cpp #include <iostream> #include <iomanip> int main() { double pi = 3.1415926; // 设置浮点数显示为固定的小数形式并指定保留两位小数 std::cout.setf(std::ios_base::fixed, std::ios_base::floatfield); std::cout.precision(2); std::cout << "Pi with two decimal places: " << pi << '\n'; } ``` 上述代码展示了如何利用成员函数设定固定的浮点表示法,并指定了具体的精度[^3]。 #### 流操纵器(Stream Manipulators) 除了成员函数外,还可以借助 `<iomanip>` 头文件提供的多种流操控符来进行更灵活的操作。这种方式往往更为简洁直观。 ```cpp #include <iostream> #include <iomanip> int main(){ int value = 42; // 设定左对齐、内部补零直到总长度为五位数字串 std::cout << std::left << std::setw(5) << std::setfill('0') << value << '\n'; float fvalue = 123.456789; // 控制科学计数法下的指数大小写及整体宽度 std::cout.unsetf(std::ios::uppercase); // 防止E转成大写字母 std::cout << std::scientific << std::setw(10) << fvalue << '\n'; unsigned long num = 123456L; // 转换为十六进制并加上前缀'0x' std::cout << "Hexadecimal representation of number is : " << "0x" << std::hex << num << '\n'; } ``` 这段程序片段说明了怎样运用不同的流操作算子来调整整型数值的对齐方式、实数的表现形式以及其他类型的转换规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值