数字格式化器
Version 24.3.9111
Version 24.3.9111
- 常用数字格式化器
- 其它数字格式化器
- abs()
- and(value)
- ceiling()
- currency([integer_count])
- decimal([integer_count])
- div([value])
- divide([value])
- expr(expression)
- floor()
- format(“pattern”)
- isbetween(integer_lowvalue, integer_highvalue[, ifbetween][, ifnotbetween])
- isequal(value[, ifequal][, ifnotequal])
- modulus(value)
- number(value[, format][, locale])
- or(value)
- percentage([integer_count])
- pow([value])
- round([integer_value])
- sqrt()
- subtract([value])
数字格式化器
常用数字格式化器
下面的格式化器是常用数字格式化器。每个格式化器都有一个例子供参考。
注意:某些格式化器的可选参数周围的方括号不是必需的。 它们的存在是为了表示该参数是可选的。
add(value)
返回数字属性值和参数指定的值之和。
- value:可选值,加到指定的属性值上。默认值为
1
。
示例
<!-- count the number of loops in an XML document using xmlDOMSearch -->
<arc:set attr="xml.uri" value="[FilePath]" />
<arc:set attr="xml.xpath" value="/Items/test/loop" />
<arc:call op="xmlDOMSearch" in="xml">
<!-- this code will execute for each occurrence of the 'xpath' in the XML document -->
<arc:set attr="loopCount" value="[loopCount | def(0) | add(1)]" />
</arc:call>
greaterthan(value[, ifgreater][, ifnotgreater])
如果属性值大于参数值,返回 true(或 ifgreater),否则返回 false(或 ifnotgreater)。
- value:与属性值比较的数值。
- ifgreater:可选值,如果属性值大于参数值,则返回此值。
- ifnotgreater:可选值,属性值不大于参数值时,则返回此值。
示例
<arc:set attr="totalCost" value="[xpath(Items/Order/TotalCost)]" />
<arc:if exp="[totalCost | greaterthan(1000)]">
<arc:set attr="highValueOrder" value="true" />
</arc:if>
lessthan(value[, ifless][, ifnotless])
如果属性值小于参数值,返回 true(或 ifless),否则返回 false(或 ifnotless)。
- value:与属性值比较的数值。
- ifless:可选值,如果属性值小于参数值,则返回此值。
- ifnotless:可选值,如果属性值不小于参数值,则返回此值。
示例
<arc:set attr="totalCost" value="[xpath(Items/Order/TotalCost)]" />
<arc:if exp="[totalCost | lessthan(0)]">
<arc:throw code="1" desc="ERROR: Invalid order total." />
</arc:if>
multiply(value)
返回数值属性值与参数的指定值相乘的结果。
- value:可选值,用于将数值属性值乘以数值属性值。默认值为
2
。
示例
<!-- find the total cost by multiplying the price and the quantity of a purchased item -->
<arc:set attr="item.price" value="[xpath(lineitem/costperunit)]" />
<arc:set attr="item.quantity" value="[xpath(lineitem/quantitypurchased)]" />
<arc:set attr="item.totalcost" value="[item.price | multiply([item.quantity])]" />
rand(upperBound)
返回一个 0 和参数值之间的随机整数。
- value:可选值,用于限制最高可能的随机整数。默认值是
100
。
示例
<!-- add a random number to the end of a filename -->
<arc:set attr="myFilename" value="myfile-[rand(100000)].xml" />
其它数字格式化器
下面出现的是一些未提及的不太常用的计算格式化器。
abs()
返回数字属性值的绝对值。
and(value)
返回两个值的 AND 结果。两边提供的值必须是 1/0,yes/no 或 true/false。
- value:用于比较的布尔值。
ceiling()
返回大于或等于一个数字属性值的最小整数。
currency([integer_count])
返回金额格式的数字。
- count:可选的小数点位数。默认值为
2
。
decimal([integer_count])
返回数值格式的数字;可以添加逗号分隔千位,百万,等。
- count: 可选的小数点位数。默认值为
2
。
div([value])
默认值为 1
。
返回数值属性值除以参数指定值的结果。
- value:可选值,用于将数字属性值除以的数字值。默认值为 2。
divide([value])
返回数值属性值除以参数指定值的结果。
- value:可选值,用于将数字属性值除以的数字值。默认值为
2
。
expr(expression)
计算数学表达式。
- expression: 数学表达式。
floor()
返回小于或等于数字属性值的最大整数。
format(“pattern”)
用指定的格式和相应平台行为格式化数字。
- pattern: 要使用的格式。
示例
<rsb:set attr="tmp" value="$1,440.123" />
[tmp]
<br>
[tmp | format("#.##")]
属性 tmp
的值被设置为 $1,440.123
,然后使用 format("#.##")
来格式化。输出结果为 1440.12。
<rsb:set attr="rnd" value="1055.68" />
[rnd]
<br>
[rnd | format("#.#")]
属性 rnd
的值被设置为 1055.68
,然后使用 format("#.#")
来格式化。输出结果为 1055.7。
isbetween(integer_lowvalue, integer_highvalue[, ifbetween][, ifnotbetween])
如果属性值大于或等于第一个参数值,小于或等于第二个参数值,则返回 true(或 ifbetween),否则返回 false(或 ifnotbetween)。
- lowvalue:要检查的范围的下限。
- highvalue:要检查的范围的上限。
- ifbetween:可选值,如果属性值大于或等于第一个参数值,而小于或等于第二个参数值,则返回此值。
- ifnotbetween:可选值,如果属性值小于第一个参数值或大于第二个参数值,则返回此值。
isequal(value[, ifequal][, ifnotequal])
如果属性值等于参数值,返回 true(或 ifequal),否则返回 false(或 ifnotequal)。
- value:与属性值比较的数值。
- ifequal:可选值,如果属性值等于参数值,则返回此值。
- ifnotequal:可选值,如果属性值不等于参数值,则返回此值。
modulus(value)
返回数值属性值除以指定参数值的模数。
- value:属性值除以的数字。
number(value[, format][, locale])
返回格式为十进制数的数值。 提供添加格式和区域设置的选项。
-
format: 可选的十进制数字格式。 默认值为“#.00”。 还可以使用以下特殊字符:
字符 描述 0
数字 #
数字; 不存在时填充0 .
小数分隔符或货币小数分隔符 -
负号 ,
组分隔符 -
locale: 区域设置信息。 默认值是不变的文化或区域设置,这意味着它与特定的国家或地区无关。 它接受语言标签(例如,
en
,fr
,en-US
,en-IN
,fr-FR
, 和zh-CN
)。
or(value)
返回两个值的 OR 结果。两边提供的值必须是 1/0,yes/no 或 true/false。
- value:用于比较的布尔值。
percentage([integer_count])
返回百分比格式的数字。
- count: 可选的小数点位数。
pow([value])
返回数值属性值,提升到参数值所指定的幂。
- value:可选值,将属性值提高到的幂数。默认值是
2
。
round([integer_value])
返回数值属性值,四舍五入到参数指定的小数位数。
注意:所使用的舍入策略基于操作系统。 .NET 使用 中点舍入,而 Java 使用 Half 偶数。
- value:可选的小数点位数。默认值为
2
。
sqrt()
返回数字属性值的平方根。
subtract([value])
返回数值属性值与参数指定值之间的差值。默认值为 1
。
- value:属性值减去的可选数值。