整数的科学记数法

时间:2016-03-31 15:31:55

标签: xml xquery

我将使用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()会产生错误。

如何以整数显示这些值? (这个符号的名称是什么?'正常符号'?)

1 个答案:

答案 0 :(得分:2)

您可以使用format-number(9.19404785580711E6, "0")强制执行非科学输出而不使用小数位数。在返回之前对值进行舍入,以使给定语句的结果为9194048