社区
C++ 语言
帖子详情
怎样解决浮点数的精度问题呢?
烂笔头Danky
2005-03-29 07:32:02
一个浮点数在内存里存储时存在精度的问题,超过允许的精度都不能保存下来,就如:3.1415926这个浮点数用一个long double的类型来保存,在输出时也却只能输出3.14159,请问有什么办法可以解决这样的精度问题吗?
...全文
277
10
打赏
收藏
怎样解决浮点数的精度问题呢?
一个浮点数在内存里存储时存在精度的问题,超过允许的精度都不能保存下来,就如:3.1415926这个浮点数用一个long double的类型来保存,在输出时也却只能输出3.14159,请问有什么办法可以解决这样的精度问题吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rocklabzhang
2005-03-30
打赏
举报
回复
可以转化成字符串再运算
不过这样要专门写个类处理
烂笔头Danky
2005-03-30
打赏
举报
回复
请帮忙看看这段程序,我的程序是试图把0.1415926这样的小数转换成1415926这样的整数,当fValue=3.1415926时程序可以正常工作,但当fValue=0.1415926时就进入了死循环变得不正常了,请问这是什么原因,应该怎样解决呢?
long double fValue = 0.1415926;
while ( (fValue-(long)fValue) != 0.0 )
{
fValue *= 10;
cout <<"fValue:" <<fValue <<endl;
cout <<"(long)fValue:" <<(long)fValue <<endl;
cout <<"fValue-(long)fValue:" <<fValue-(long)fValue <<endl <<endl;
}
hjf8086
2005-03-30
打赏
举报
回复
cout<<setiosflags(ios::fixed)<<setprecision(7)
fixed是固定浮点数
setprecision(7)小数点后7位显示
pcboyxhy
2005-03-30
打赏
举报
回复
最彻底的方法就是写一个高精度类
烂笔头Danky
2005-03-29
打赏
举报
回复
那它们各自是什么意思啊?
xtutzh
2005-03-29
打赏
举报
回复
cout<<fixed<<showpoint<<setprecision(7)
请可以说一下这里面的是什么意思吗,我估计这个(7)是用来指明输出的位数吧,这个fixed曾经见过,在印象中好像是用来控制输出的位数,但这个showpoint和setprecision是关键字吗?还是变量名呢?
它们不是关键字,而是 iostream的成员函数。注意:cout是内置的iostraam类的一个对象。
烂笔头Danky
2005-03-29
打赏
举报
回复
cout<<fixed<<showpoint<<setprecision(7)
请可以说一下这里面的是什么意思吗,我估计这个(7)是用来指明输出的位数吧,这个fixed曾经见过,在印象中好像是用来控制输出的位数,但这个showpoint和setprecision是关键字吗?还是变量名呢?请指教!
arrowcy
2005-03-29
打赏
举报
回复
如果使用c++的标准输入输出的话,就按照 JYcom(天神的眼泪) 说的做就行了
如果用C函数printf,就用那个%?.?f格式就可以了
arrowcy
2005-03-29
打赏
举报
回复
你说那个问题不是存储的精度问题,而是输出精度的问题
用cout输出默认就是6位有效数字
JYcom
2005-03-29
打赏
举报
回复
包含头文件:#include<iomanip>
然后在输出时cout<<fixed<<showpoint<<setprecision(7)即可。
浮
点数
精度
问题
解答——
浮
点数
目前支持二进制
浮
点数
的硬件和软件文档中,几乎都声称其
浮
点数
实现符合IEEE 754标准。那么,什么是IEEE 754标准? 最权威的解释是IEEE754标准本身ANSI/IEEE Std 754-1985《IEEE Standard for Binary Floating-Point...
解决
JS
浮
点数
(小数)计算加减乘除的BUG
解决
JS
浮
点数
(小数)计算加减乘除的BUG
Modbus协议讲解及实现
5、常见
问题
的
解决
方法。 带给您的价值 通过学习本课程,您可以做到如下: 1、全面彻底的理解Modbus协议。 2、理解在串行链路,以太网链路的实现。 3、掌握Modbus协议解析的函数编程方法,调试工具的使用。 4、掌握...
解决
javascript中的
浮
点数
计算不精确
问题
NULL 博文链接:https://xide829.iteye.com/blog/663554
用于更方便的
解决
PHP中超大数字和
浮
点数
精度
问题
PHP 中的整型大小和平台有关,通常最大值是二十亿,64位平台下最大值通常为 9E18,当程序中需要处理的数值超出整形的范围,数值将会被解释为
浮
点数
。
C++ 语言
64,662
社区成员
250,487
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章