为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

1 回答

编程上四舍五入一般都是通过加一个小数看是否自动进1来完成的。

打个比方12.563,要求保留两个小数,四舍五入,则可以这样做:

第一步:12.563+0.005=12.568

第二步:12.568*100=1256.8

第三步:对1256.8强制转换为int类型(int)(1256.8)=1256

第四步:得出结果(double)(1256)/100=12.56

结果就是12.563保留两个小数并四舍五入的结果为12.56

不同的变成语言也行写法上不一样,但总体的理论是一样的。


1 回复 有任何疑惑可以回复我~
#1

妞给爷乐一个 提问者

非常感谢!这对我非常的有用
2016-08-03 回复 有任何疑惑可以回复我~
#2

妞给爷乐一个 提问者

那个,不好意思,再问一下,第一步为什么要加0.005呢? 我还是一个新手(///)
2016-08-03 回复 有任何疑惑可以回复我~
#3

废话达人 回复 妞给爷乐一个 提问者

我再细化一下,加0.005是很巧妙的。12.563 保留两位小数,四舍五入,1)假设这个数是12.564+0.005=12.569 重复第二、第三步。 第三步强制转换为int类型 数会变成1256.经过第四步后变成12.56,2)假设这个数是12.565 ,+0.005= 12.570 重复第二、第三步。数就变成1257. 经过第四步 12.57 是不是 刚好就符合了 四舍五入.如果后面的是12.567 +0.005 =12.572 强制转换为int 会扔掉1257.2 后面的小数。所以完成了四舍五入。 如果你想了解更多算法,我推荐你看看一本书 《算法的乐趣》会对你成长很有帮助
2016-08-03 回复 有任何疑惑可以回复我~
#4

废话达人 回复 妞给爷乐一个 提问者

字数限制。 《算法的乐趣》是图灵出的, 我不是打广告。你也可以看看别的算法书。我也是小白,也有很多不懂的。一起学习成长吧。!
2016-08-03 回复 有任何疑惑可以回复我~
#5

妞给爷乐一个 提问者 回复 废话达人

哦哦哦,谢谢。
2016-08-03 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消

关于四舍五入的问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号