会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
gccbuaa
博客园
首页
新随笔
联系
管理
订阅
四舍六入五成双(四舍六入奇偶效验)银行家算法
规则:
四舍六入五考虑。
五后非零就进一,
五后皆零看奇偶,
五前为偶应舍去,
五前为奇要进一。
c#:
Math.Round(new Decimal(1.2050),2) 1.2 Math.Round(new Decimal(1.2150),2) 1.22 Math.Round(new Decimal(1.2250),2) 1.22 Math.Round(new Decimal(1.2350),2) 1.24 Math.Round(new Decimal(1.2450),2) 1.24 Math.Round(new Decimal(1.2550),2) 1.26 Math.Round(new Decimal(1.2650),2) 1.26 Math.Round(new Decimal(1.2750),2) 1.28 Math.Round(new Decimal(1.2850),2) 1.28 Math.Round(new Decimal(1.2950),2) 1.3
oracle:
CREATE OR REPLACE FUNCTION ROUND2(P1 IN NUMBER, P2 IN NUMBER) RETURN NUMBER AS BEGIN IF TRUNC(P1,P2+1)<>P1 OR SUBSTR(P1*POWER(10,P2+1),-1)<>'5' OR MOD(SUBSTR(P1*POWER(10,P2+1),-2,1),2)=1 THEN RETURN ROUND(P1,P2); ELSE RETURN TRUNC(P1,P2); END IF; END; --修约法则 /* 四舍六入五考虑, // 五后非零就进一。 // 五后皆零看奇偶, // 五前为偶应舍去, // 五前为奇要进一。</p><p> */
posted @
2017-07-04 18:11
gccbuaa
阅读(
1670
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部