怎么这么简单的三行代码竟然也运算错了??关于四舍五入的

mybios mybios 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
float round(float v , float n)
{
float temp;
temp = pow( 10 , n);
float f = (int)(v * temp + 0.5) / temp;//监视这个表达式没错
return f;//运行到这里f就变了。好像没有四舍五入的样子
}
这个函数的作用是把v的浮点数只保留n位小数的四舍五入算法。再watch里面运行到float f = (int)(v * temp + 0.5) / temp;的时候,我监视了(int)(v * temp + 0.5) / temp表达式的值,这时没有错,但是赋值到f后,再监视f的值就错了,好像没有四舍五入的样子
...全文

相关推荐

JS Math.floor与四舍五入区别[项目代码]

本文详细解析了JavaScript中Math.floor与四舍五入的根本区别。Math.floor的功能是向下取整,无条件舍去小数部分,而四舍五入则需要根据小数部分的值进行判断。要实现标准的四舍五入,应使用Math.round方法。文章还探讨了Math.floor的适用场景,如分页计算和商品折扣处理,并分析了开发者混淆这两个概念的常见原因,包括对函数名中文翻译的误解和粗略测试用例的误导。最后,作者鼓励读者分享实际项目中的误用经历,并强调了在财务或精度要求高的计算中正确使用这些方法的重要性。

joy55

C++四舍五入方法[源码]

本文介绍了在C++中实现四舍五入的几种常见方法。首先,可以使用C++11及更高版本中的round()函数,需包含头文件<cmath>或<bits/stdc++.h>。其次,手动实现四舍五入的方法包括:1. 加上0.5后使用floor()函数向下取整;2. 加上0.5后通过强制转换为整型int实现向下取整。这些方法适用于不同的场景,开发者可以根据需求选择合适的方式。

心事收容所

Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法

主要介绍了Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法,非常具有实用价值,需要的朋友可以参考下

weixin_38605188

Excel也会“作假”-真正实现四舍五入.pptx

Excel也会“作假”-真正实现四舍五入.pptx

matlab大师

小学数学二年级计算错误的归类、成因及对策的研究.doc

小学数学二年级计算错误的归类、成因及对策的研究.doc

beibeidzh
评论 29
收藏 已收藏
分享
返回顶部
mybios
VC/MFC 16,550 成员 421,606 内容