关于百分数的小数位问题

yyy111 2006-07-26 02:11:26
各位大侠好:
我有个问题,想问一下,有个表里做检索,然后用百分数表示比列.结果出现了(比如2项),其中一是22.22%,另一是:77.77%,加起来应该是100%.是算法不对么,还是怎么啊.谢谢
另一种情况是:100.01%(33.21%,45.88%,20.92%)
说明要求保留两位小数.
...全文
372 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyy111 2006-08-17
  • 打赏
  • 举报
回复
问题已经解决了,不好意思,失误以至使很少出现的一种情况,多进或舍了一次.感谢各位!
snowy_howe 2006-08-16
  • 打赏
  • 举报
回复
如果运算过程中只有这步运算,那么ORACLE肯定已经想到了,不会出现0.01%误差。
我同意楼上的,你肯定是在中间运算结果中也做了四舍五入。如果方便,程序能贴吗?
mu_gua 2006-08-15
  • 打赏
  • 举报
回复
中间运算结果不要做舍入,最后结果再做舍入。
yyy111 2006-08-14
  • 打赏
  • 举报
回复
高手出来啊?我都郁闷死了,你们怎么这样啊?
yyy111 2006-08-11
  • 打赏
  • 举报
回复
没有高手么,怎么没人帮顶啊,失望,我已经提交了三贴了.呜呜
yyy111 2006-08-03
  • 打赏
  • 举报
回复
没有说清楚,不好意思,不是用的TRUNC,是用的ROUND的.并不是每次都出现的,偶然的时候就出现了.
Eric_1999 2006-08-03
  • 打赏
  • 举报
回复
这个明显点!!
TRUNC (89.985,2)=89.98
ROUND (89.985, 2) = 89.99
应该这个原因造成的。

Eric_1999 2006-08-03
  • 打赏
  • 举报
回复
TRUNC(89.985,2)=89.98
ROUND (89.985) = 90
应该这个原因造成的。
Eric_1999 2006-08-03
  • 打赏
  • 举报
回复
个人认为:用ROUND吧。不要用TRUNC。
yyy111 2006-08-03
  • 打赏
  • 举报
回复
0.01%,我总觉的不可能,要是银行,电信那些部门差了这点,可不是个小数啊.呵
补充
yyy111 2006-08-03
  • 打赏
  • 举报
回复
但是你想象一下,一个舍一个进应该是加起来是100.00%才对啊.不应该出现两个都舍吧,就是少了0.01%,或者多了
zlz_212 2006-08-03
  • 打赏
  • 举报
回复
四舍5入。呵呵
龙翔飞雪 2006-08-03
  • 打赏
  • 举报
回复
因为4舍5入的关系, 所以最后差了一点, 很正常.
yyy111 2006-08-02
  • 打赏
  • 举报
回复
没人理 啊,结了
sxykje 2006-07-26
  • 打赏
  • 举报
回复
学习

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧