有关ROUND的一个很奇怪的问题!

denny0515 2004-11-22 10:27:44
在数据窗口中一个列为:进货数量*进价,然后取小数点二位四舍五入
现在进货数量为:-9
进价为:16.9550
  列的公式为:round(jhsl*jj,2)
结果是:-152.59
可是我觉得正确的结果应该是:-152.60

不知道是什么原因,请大家帮忙,谢谢

...全文
111 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
denny0515 2004-11-29
  • 打赏
  • 举报
回复
我觉得不是因为负数的关系,因为我把这个列的公式改成round(-152.595,2),得到的值就是-152.6,真是奇怪死了。另一点我觉得和精度也没有关系,因为jhsl和jj两个值一个是decimal(10,3)另一个是money类型啊,大家来讨论一下吧
feixue1204 2004-11-24
  • 打赏
  • 举报
回复
引用lzp_lrp(lzp),此才是关键!
WorldMobile 2004-11-22
  • 打赏
  • 举报
回复
我测试了一下,没问题,是-152.60
wukejun 2004-11-22
  • 打赏
  • 举报
回复
up
WorldMobile 2004-11-22
  • 打赏
  • 举报
回复
精度的问题,你的jhsl和jj的精度有问题

你这么定义
long jhsl
dec{4} jj
dec{2} ldc_value
jhsl = -9
jj = 16.9550
ldc_value = round(jhsl*jj, 2)

你再看看ldc_value里的值是多少?
zhangdatou 2004-11-22
  • 打赏
  • 举报
回复
楼上对啦~~~~负数不一样
zhengshouquan 2004-11-22
  • 打赏
  • 举报
回复
-152.595 > -152.60 很好理解。
sywen 2004-11-22
  • 打赏
  • 举报
回复
負數的舍入跟正數的不一樣

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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