分摊系数怎么能保持为1

就是比如3个产品,分摊系数都是1/3,按道理说1/3*3=1,但是现在数据库里面小数是0.333333333这样加起来就不能唯一,这样分摊后总成本就会少一点,现在想的是算好前面两个产品比例,再减去第三个,这样分摊后总成本加起来误差会少一点,有没有其他啥好办法

yzm216333 发布于 2022-1-28 08:50
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
孤陌Lv6资深互助
发布于2022-1-28 09:14(编辑于 2022-1-28 10:58)

那建议 就如除不尽  就 (1-取除不尽的第一位数)/产品数量-1,剩下的第三位 取0.3  这样 就没有问题了

if(LEN(1/B1)>8,(1-mid(1/B1,1,8))/(b1-1),1/B1)

image.png 这个是按照我的逻辑计算出来的 

image.png

image.png

  • yzm216333 yzm216333(提问者) sqlserver数据库里我看两个数相除,默认值返回8个小数位,这个能在向后拓展吗,用round后面好像不行
    2022-01-28 10:11 
  • 孤陌 孤陌 回复 yzm216333(提问者) 一定要平均分配 肯定 有问题的 建议就是这样处理 除不尽了 就取几位数了 (看个人要求取几位) 然后 1-保留的数字 再除以2 就可以了
    2022-01-28 10:24 
  • 孤陌 孤陌 回复 yzm216333(提问者) 按照 这个逻辑来算 一分钱都不会差 各个分摊系数 差距也不大
    2022-01-28 10:57 
最佳回答
0
shirokoLv6资深互助
发布于2022-1-28 09:02

过程系数保留小数位数多一点,结果保留的正常,并且四舍五入

  • yzm216333 yzm216333(提问者) 已经18位了,四舍五入还是不行,总成本误差还有十几元
    2022-01-28 09:08 
  • 3关注人数
  • 302浏览人数
  • 最后回答于:2022-1-28 10:58
    请选择关闭问题的原因
    确定 取消
    返回顶部