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
有時候不要這樣做,總是這樣做。如果你要求別人幫忙,有人必須閱讀代碼。我想這是一個任務,如果你必須把它交給:有人必須閱讀代碼。這些簡短的變量名不會爲你節省任何時間,程序員不得不關心字節和打印字符的時間已經很久了。 –