问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言编写四舍五入函数

发布网友 发布时间:2022-04-22 14:12

我来回答

3个回答

热心网友 时间:2023-10-17 15:18

float num=3.14159
float f;
f=((int)(num*10000+0.5))/10000.0;

过程如下  31415.9 +0.5 = 31416.4 
取整  31416   然后除以10000.0 
隐式转换为float 3.1416

热心网友 时间:2023-10-17 15:19

double pi=3.1415926;
printf("%.4lf\n",pi);
可得输出为3.1416。
printf("%.2lf\n",pi);
可得输出为3.14。追问要求的不是输出,而是程序运行后,f被四舍五入了

热心网友 时间:2023-10-17 15:19

请记住!C语言里面的浮点数几乎都不会是绝对的字面值,而只能是最接近于字面值的数值,存在着误差。
比如在内存里面保存的329.835的真实数值可能就是329.835000001或者329.8349999999什么的,而529.835页可能是529.83500001或者529.834999999什么的。当然这里的数值只用来形象地表达一下意思,而内存里面的真实数值是多少我不是很清楚。哪怕你写个a=1.1;内存里面也不会是绝对的1.1。
这点就好像无论你用3.1415925。。不管小数点后多少位都不可能表示出Pai的真实大小。
再次提醒!总之,记住C语言里面的浮点数不会是绝对的字面值,而只能是最接近于字面值的数值。
还有,楼主所写的公式也是错的,我猜楼主想写的是(int(A*1000+5)*0.001)。但这样不会消除小误差而反而会引入更多的误差,慎之!
如果楼主对这样的误差不能接受的话,建议楼主放弃用浮点数,改用定点数去实现。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
RDL是什么意思 报税软件是什么意思 某公司的财务报表管理软件属于 报表系统指的是什么? 怎么玩真三最好?我是新手选什么英雄最好? 真三新手玩什么英雄好? 最近玩魔兽真三,想请问一下高手,初期用什么英雄最好,新手攻略 新手玩真三选什么英雄好啊 ...离泡还有一段距离的地方好几片红,红的地方又疼又痒的,怎么办... 眼角出了好多小水疱.医生说是疱疹.怎么办 c语言中有没有进行四舍五入的函数? C语言取整是4舍5入?还是截断取整 C程序里,怎样做到四舍五入? 解决小米8通话声音小 C语言编程 、对输入的任意一个数按照四舍五入法取整? 颗粒剂的干燥可选用的方法是 速溶茶喷雾干燥和冷冻干燥各有何优缺点? 速溶茶喷雾干燥和冷冻干燥各有何优缺点? 喷雾干燥机有哪些优缺点 喷雾干燥机有哪些优缺点 喷雾干燥如何选型,请提供详细的公式 山东天久集团肽清价格 山东天久集团肽清价格 喷雾干燥的技术应用 喷雾干燥的技术应用 喷雾干燥的操作流程 喷雾干燥的操作流程 爱不停(山东)蛋白质饲料有限公司怎么样? 爱不停(山东)蛋白质饲料有限公司怎么样? 山东华迪科技有限公司的公司简介 C语言四舍五入保留两位小数 c语言中有没有四舍五入的函数? C语言四舍五入的问题 C语言中如何对浮点数进行四舍五入? C语言的关键字有哪些? c语言的关于 : 对一个double型数据进行四舍五入运算 c语言的四舍五入 在C语言里如何用四舍五入把float变为int 程序员必知的编程语言特点 C语言中取整是怎么取 小青柑怎么样,女生喝好么,朋友送的 你觉得小青柑茶好喝吗? 小青柑茶怎么样?这种茶好喝吗? 小青柑好喝吗? 小型的石料破破碎机一般多少钱 石料破碎机价格大概是多少 石头粉碎机多少钱 一台移动式石子破碎机需要多少钱 石头破碎机多少钱一台 买一套移动石子破碎机需要多少钱