c++小数输出规则,fixed保留小数,setprecision()设定位数
#include <iostream> #include <iomanip> int main() { //default // std::cout<<"default========================================"<<std::endl; // std::cout<<123.1<<std::endl; // 123.1 // std::cout<<123.12<<std::endl; // 123.12 // std::cout<<123.123<<std::endl; // 123.123 // std::cout<<123.1234<<std::endl; // 123.123 // std::cout<<123.12345<<std::endl; // 123.123 // std::cout<<123.123456<<std::endl; // 123.123 // std::cout<<123.1234567<<std::endl; // 123.123 // std::cout<<123.12345678<<std::endl; // 123.123 // std::cout<<123.123456789<<std::endl; // 123.123 // std::cout<<123.1234567891<<std::endl; // 123.123 // std::cout<<"fixed========================================"<<std::endl; // std::cout<<std::fixed<<123<<std::endl;//123 // std::cout<<std::fixed<<123.0<<std::endl;//123.000000 // std::cout<<std::fixed<<123.1<<std::endl; // 123.100000 // std::cout<<std::fixed<<123.12<<std::endl; // 123.120000 // std::cout<<std::fixed<<123.123<<std::endl; // 123.123000 // std::cout<<std::fixed<<123.1234<<std::endl; // 123.123400 // std::cout<<std::fixed<<123.12345<<std::endl; // 123.123450 // std::cout<<std::fixed<<123.123456<<std::endl; // 123.123456 // std::cout<<std::fixed<<123.1234567<<std::endl; // 123.123457 // std::cout<<std::fixed<<123.12345678<<std::endl; // 123.123457 // std::cout<<std::fixed<<123.123456789<<std::endl; // 123.123457 // std::cout<<std::fixed<<123.1234567891<<std::endl; // 123.123457 // std::cout<<"setprecision()========================================"<<std::endl; // std::cout<<std::setprecision(5)<<123.1<<std::endl; // 123.1 // std::cout<<std::setprecision(5)<<123.12<<std::endl; // 123.12 // std::cout<<std::setprecision(5)<<123.123<<std::endl; // 123.12 // std::cout<<std::setprecision(5)<<123.1234<<std::endl; // 123.12 // std::cout<<std::setprecision(5)<<123.12345<<std::endl; // 123.12 // std::cout<<std::setprecision(5)<<123.123456<<std::endl; // 123.12 // std::cout<<std::setprecision(5)<<123.1234567<<std::endl; // 123.12 // std::cout<<std::setprecision(5)<<123.12345678<<std::endl; // 123.12 // std::cout<<std::setprecision(5)<<123.123456789<<std::endl; // 123.12 // std::cout<<std::setprecision(5)<<123.1234567891<<std::endl; // 123.12 // std::cout<<std::setprecision(8)<<123.1<<std::endl; // 123.1 // std::cout<<std::setprecision(8)<<123.12<<std::endl; // 123.12 // std::cout<<std::setprecision(8)<<123.123<<std::endl; // 123.123 // std::cout<<std::setprecision(8)<<123.1234<<std::endl; // 123.1234 // std::cout<<std::setprecision(8)<<123.12345<<std::endl; // 123.12345 // std::cout<<std::setprecision(8)<<123.123456<<std::endl; // 123.12346 // std::cout<<std::setprecision(8)<<123.1234567<<std::endl; // 123.12346 // std::cout<<std::setprecision(8)<<123.12345678<<std::endl; // 123.12346 // std::cout<<std::setprecision(8)<<123.123456789<<std::endl; // 123.12346 // std::cout<<std::setprecision(8)<<123.1234567891<<std::endl; // 123.12346 //default // std::cout<<123<<std::endl; // 123 // std::cout<<123456<<std::endl; // 123456 // std::cout<<123456789<<std::endl; // 123456789 // std::cout<<123.0<<std::endl; // 123 // std::cout<<123.1<<std::endl; // 123.1 // std::cout<<123456.1<<std::endl; // 123456 // std::cout<<123456789.1<<std::endl; // 1.23457e+08 // std::cout<<123.123456789<<std::endl; // 123.123 // std::cout<<123456.123456789<<std::endl; // 123456 // std::cout<<123456789.123456789<<std::endl; // 1.23457e+08 //fixed // std::cout<<std::fixed<<123<<std::endl; // 123 // std::cout<<std::fixed<<123456<<std::endl; // 123456 // std::cout<<std::fixed<<123456789<<std::endl; // 123456789 // std::cout<<std::fixed<<123.0<<std::endl; // 123.000000 // std::cout<<std::fixed<<123.1<<std::endl; // 123.100000 // std::cout<<std::fixed<<123456.1<<std::endl; // 123456.100000 // std::cout<<std::fixed<<123456789.1<<std::endl; // 123456789.100000 // std::cout<<std::fixed<<123.123456789<<std::endl; // 123.123457 // std::cout<<std::fixed<<123456.123456789<<std::endl; // 123456.123457 // std::cout<<std::fixed<<123456789.123456789<<std::endl; // 123456789.123457 //setprecision(n) // std::cout<<std::setprecision(8)<<123<<std::endl; // 123 // std::cout<<std::setprecision(8)<<123456<<std::endl; // 123456 // std::cout<<std::setprecision(8)<<123456789<<std::endl; // 123456789 // std::cout<<std::setprecision(8)<<123.0<<std::endl; // 123 // std::cout<<std::setprecision(8)<<123.1<<std::endl; // 123.1 // std::cout<<std::setprecision(8)<<12345678.1<<std::endl; // 12345678 // std::cout<<std::setprecision(8)<<123456789.1<<std::endl; // 1.2345679e+08 // std::cout<<std::setprecision(8)<<123.123456789<<std::endl; // 123.12346 // std::cout<<std::setprecision(8)<<123456.123456789<<std::endl; // 123456.12 // std::cout<<std::setprecision(8)<<123456789.123456789<<std::endl; // 1.2345679e+08 return 0; } /* 结论: 若输出整数,没有小数部分,则默认输出所有位数 以下是有小数部分的情况, 小数(有小数部分)的默认保留模式是保留有效数字,保留位数是6位 6位是从最高位开始的6位, 包括整数部分和小数部分 整数部分有效位数大于6位时会使用科学计数法输出, 科学计数法有效位数为6位,第6位四舍五入 整数部分有效位数小于等于6位时,不会使用科学计数法 整数部分完整输出后, 已输出的数字不足6位时 会输出小数部分的有效位数(尾部0不算有效位数),从最高位开始 若小数部分也不能补足6位, 则输出结束, 并不会在小数部分末尾以0来补足 std::fixed的影响会让保留的位数从有效数字变为小数点后数字, 会在小数部分末尾补0以补足位数 若不更改位数, 则位保留6位小数, 不足6位会在小数部分末尾补0补足6位 std::setprecision(x)会将保留的位数从6改为x然后再适用以上规则 */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2024-02-03 (python)代码学习||2024.2.3||题目是codewars上的【Validate Sudoku with size `NxN`】