我在xslt中有这样的Rs 148573769277.60 (Rs 14857.38 crores)
产品价格表。
如果我有818354941.60
的金额,那么我想转换成 81.84卢比(克朗)(Indian numbering system)
如何在xslt中执行此操作?
答案 0 :(得分:1)
我认为您正在寻找这样的东西:
<fo:block>
<xsl:variable name="orignumber" select="'Rs 148573769277.60'"/>
<!-- filter only the numbers and the '.' from the text -->
<xsl:variable name="number" select="translate($orignumber, translate($orignumber, '0123456789,.', ''), '')"/>
<!-- this sets the format to 2 decimals - the multiplication is based on your text. -->
<!-- concat just adds your chosen text(unit) to the number/string -->
<xsl:value-of select="concat('Rs ', format-number(number($number) * 0.0000000001,'##.##'), ' (Crores)')"/>
</fo:block>
或者,您可以仅过滤数字并设置'。'。自己一个人。