0 0

如何规定小数位数?10

需求如下:
一般采购合同里都有 数量、单价、总价,合计(所有总价之和),实际中合同的合计价格都是个约数,
后面的临头都不要的(比如8000521.15都会直接算做800000的),由于这个变动导致合同要做到公司系统里去却有问题:
各项价格之和不等于合同总价,如是就需要在系统里输入各项单价的时候做调整。比如:
货物 单价 数量 价格
A     100  50   5000
B      80   12   960
C      16    9    144
                     合计:6100(临头4去掉了)
这个时候就需要调整各项单价,最终达到各项价格相加之和与6100相差最小。即:
X*50+Y*12+Z*9 最接近 4(要求X,Y,Z都只有2位小数)

这如何实现 ?
2008年10月21日 17:18

3个答案 按时间排序 按投票排序

0 0

采纳的答案

你可以把6104-6100=4,这个零头按照3样货物的总价进行摊派

A=100*50=5000
B=80*12=960
C=16*9=144

A占的比例就是 5000/(5000+960+144)
B占的比例就是 960/(5000+960+144)
C占的比例就是 144/(5000+960+144)

分别计算出A,B,C三样货物在零头(4元)中的比例。例如:

A= 4*5000/(5000+960+144)=3.28
B= 4*960/(5000+960+144)=0.63
C=4-3.28-0.63=0.09

然后再去计算单价

A单价=(5000-3.28)/50=99.93
B单价=(960-0.63)/12=79.94
C单价=(144-0.09)/9=15.99

这样就OK了。

2008年10月21日 21:58
0 0

对不起,我重新看了一下 stephen830的做法我认为可以,99.93 *50 + 79.94 *12 + 15.99*9=6099.69,不知道符合要求

2008年10月22日 10:58
0 0

我估计它单价想是整数!

2008年10月22日 10:51

相关推荐

Global site tag (gtag.js) - Google Analytics