我将使用XQuery中的一些数学函数推断未来10年的人口增长,如下所示:
let $db := doc("mondial.xml")
for $country in $db/mondial/country
let $last_pop := $country/population[last()]
let $snd_last_pop := $country/population[last() - 1]
let $pop_growth := $last_pop div $snd_last_pop
let $yt2026 := 2026 - $last_pop/@year
return <country>
{$country/name}
<population year="2026" measured="extrap.">{
$last_pop * math:exp($yt2026 * math:log($pop_growth))
}</population>
</country>
但是,我的输出是科学记数法,或者有很多小数位。
<country>
<name>Albania</name>
<population year="2026" measured="extrap.">706860.8616776819</population>
</country>
<country>
<name>Greece</name>
<population year="2026" measured="extrap.">9.19404785580711E6</population>
</country>
<country>
<name>Macedonia</name>
[...]
使用xs:int()
会产生错误。
如何以整数显示这些值? (这个符号的名称是什么?'正常符号'?)
答案 0 :(得分:2)
您可以使用format-number(9.19404785580711E6, "0")
强制执行非科学输出而不使用小数位数。在返回之前对值进行舍入,以使给定语句的结果为9194048
。