搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 小数五舍六入的问题
标题:
小数五舍六入的问题
只看楼主
hu9jj
来 自:红土地
等 级:
贵宾
威 望:
396
帖 子:11713
专家分:43267
注 册:2006-5-13
第
11
楼
得分:0
对于指定位数和舍入要求的,三楼应该是最简单实用的算法。如果要考虑做成自定义函数,则可以采取接收舍入值、保留小数的位数、舍入要求三个值,然后按照幂运算的方式,分保留位数大于零和小于零(取整)两种方式进行计算,最后返回需要的值。
活到老,学到老! http://www. E-mail:hu-jj@
2012-06-18 21:13
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
323
帖 子:9621
专家分:26174
注 册:2012-2-5
第
12
楼
得分:0
回复 10楼 arefeng
? int(16/10+0.5) * 10
结果:20
? int(1.5+0.4)
=1
? int(1.5+0.5)
=2
? int(1.6+0.4)
=2
[
本帖最后由 sdta 于 2012-6-18 21:17 编辑
]
坚守VFP最后的阵地
2012-06-18 21:13
arefeng
等 级:
论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
第
13
楼
得分:0
回复 12楼 sdta
我想我明白你的困惑了, 给你的问题加个说明如下:
? int(16/10+0.5) * 10 && 这个例子是对
16
做
十位
上的四舍五入, 因为在十位, 所以把倍率换成10分之1
结果:20
? int(1.5+0.4) && 这个例子是对
1.5
做
个位
上的五舍六入
=1
? int(1.5+0.5) && 这个例子是对
1.5
做
个位
上的四舍五入
=2
? int(1.6+0.4) && 这个例子是对
1.6
做
个位
上的五舍六入
=2
现在看看得到的结果是否正确?
其实这个方法跟编程语言无关, 它是数学算法的概念.
2012-06-18 21:25
ilikeflash
等 级:
论坛游侠
威 望:
3
帖 子:148
专家分:186
注 册:2011-4-6
第
14
楼
得分:0
雅克西
2012-06-18 21:30
14
2/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-371731-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.023482 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved