0
我需要乘以几对值并将它们相加,但是我得到的只是一行数字。 (例如:我需要总结的数字是12和13,我需要的是25,我得到的是“1213”)我已经尝试过不同类型的类型转换,并尝试构建解决方法,但是我无法获得到一个解决方案。 (以下简称 “$ X” 变量的值是问题)xquery求和并且乘以
这里是我的代码:
let $hk := doc('http://etutor.dke.uni-linz.ac.at/etutor/XML?id=1')/handelskette
for $n in distinct-values($hk/kunden/kunde/bonStufe)
let $k := $hk/kunden/kunde[bonStufe=$n]
let $c := count($k)
let $r := $hk/rechnungen/rechnung[kundeNr=$k/@kundeNr]/rposition
let $x := 0
order by $n
return <bStufe val="{$n}">
<umsGesamt>{
for $i in $r
let $x := sum(xs:integer($i/einzelPreis) * xs:integer($i/menge))
return $x
}</umsGesamt>
<umsProKunde>{(:$x div :)$c}</umsProKunde>
</bStufe>
$我的样子(我需要总和(einzelPreis *猛恶)):
<rposition>
<ean>5-6661-000-0-00</ean>
<einzelPreis>500</einzelPreis>
<menge>3</menge>
</rposition>
我的结果是这样的:
<bStufe val="A">
<umsGesamt>150015752450140004507606001100</umsGesamt>
<umsProKunde>5</umsProKunde>
</bStufe>
<bStufe val="B">
<umsGesamt>2292250068006602200690070001200045001530</umsGesamt>
<umsProKunde>4</umsProKunde>
</bStufe>
<bStufe val="C">
<umsGesamt>29010001590130013502600150195012900320010003751000</umsGesamt>
<umsProKunde>4</umsProKunde>
</bStufe>
我真的很感激一些帮助。
问候 卢卡斯
请不要使用单个数字的变量。他们让理解代码变得不必要的复杂,并且容易出错。 '$ count'而不是'$ c'怎么样?这同样适用于您使用的几乎所有变量名称。 –
当我必须写更多的代码行时,我通常会这样做。 这里唯一重要的变量是$ i(它代表上面描述的位置节点)和$ x,它应该计算应该是所有($ i/einzelPreis * $ i/menge)总和的收入(英语:单位价格*金额) – Lucas
有时候不要这样做,总是这样做。如果你要求别人帮忙,有人必须阅读代码。我想这是一个任务,如果你必须把它交给:有人必须阅读代码。这些简短的变量名不会为你节省任何时间,程序员不得不关心字节和打印字符的时间已经很久了。 –