C++浮点数精度控制问题

abstraction00 2008-08-02 05:02:22
例如

double d = 0.2;
cout<<d<<endl;

怎么样才能让控制台输出0.2000?

望高手指点
...全文
584 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
abstraction00 2008-08-02
  • 打赏
  • 举报
回复
谢谢各位了 总的试下来 还是用printf最为简单
光跃 2008-08-02
  • 打赏
  • 举报
回复

double d = 0.2;

cout.setf(ios_base::fixed);
cout << setprecision(4) << d <<endl;
ttkk_2007 2008-08-02
  • 打赏
  • 举报
回复
我觉得printf("%.4f", 0.2);很好
lzr4304061988012 2008-08-02
  • 打赏
  • 举报
回复
#include <stdlib.h>
#include <stdio.h>
int main()
{
double a=0.2;
printf("%.4f",a);
}
lzr4304061988012 2008-08-02
  • 打赏
  • 举报
回复
可以用printf吗?
WUYUE0808 2008-08-02
  • 打赏
  • 举报
回复
#include <iomanip.h>
cout<<setiosflags(ios::fixed||ios::showpoint)//以强制浮点型格式;
<<setprocision(2)//保存2位小数。


用这个吧
WUYUE0808 2008-08-02
  • 打赏
  • 举报
回复
楼上的只能暂时的解决的问题

楼主的问题是在输入输出的时候有个什么输出函数的,

好像谭浩强那本c++的书里面就有的,在cout的时候加上这个函数

你可以去查查看
lzr4304061988012 2008-08-02
  • 打赏
  • 举报
回复
[code=#include <iostream>
using namespace std;
void main()
{

double d = 0.2;
cout <<d <<"000"<<endl;
}
code]
课程背景Modbus 协议是工业自动化控制系统中常见的通信协议,协议的全面理解是个痛点。本课程主讲老师集10多年在Modbus协议学习、使用中的经验心得,结合当前物联网浪潮下Modbus协议开发的痛点,推出这套面向Modbus 协议初学者的课程。本课程不同于以往市面课程只是协议讲解无实现代码,而是采用讲解与实践并重的方式,结合STM32F103ZET6开发板进行手把手编程实践,十分有利于初学者学习。涵盖了学习者在Modbus协议方面会遇到的方方面面的问题,是目前全网首个对Modbus协议进行全面总结的课程。课程名称   协议讲解及实现>>课程内容1、Modbus 协议的基础。2、Modbus协议栈函数编程实现。3、Modbus协议在串行链路编程实现。4、Modbus协议在以太网链路编程实现。5、常见问题的解决方法。带给您的价值通过学习本课程,您可以做到如下:1、全面彻底的理解Modbus协议。2、理解在串行链路,以太网链路的实现。3、掌握Modbus协议解析的函数编程方法,调试工具的使用。4、掌握多个串口,网口同时运行同一个Modbus协议栈的方法。5、掌握Modbus协议下,负数,浮点数等处理方法。讲师简介许孝刚,山东大学工程硕士,副高职称,技术总监。10多年丰富嵌入式系统开发经验,国家软考“嵌入式系统设计师”。2017年获得“华为开发者社区杰出贡献者”奖励。

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧