如何在xslt中将crore量转换为十进制值

时间:2018-07-31 07:27:07

标签: html xml xslt

我在xslt中有这样的Rs 148573769277.60 (Rs 14857.38 crores)产品价格表。

如果我有818354941.60的金额,那么我想转换成 81.84卢比(克朗)Indian numbering system

如何在xslt中执行此操作?

1 个答案:

答案 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>

或者,您可以仅过滤数字并设置'。'。自己一个人。