2012-01-12 9 views
0

可能性の重複:
How to remove a decimal point in a XSL templateは、すべてのXSLTのバージョンで小数点を削除するには

私は以下から値36.26を抽出する必要があり、以下のように値を持つ属性を持っています私は3626を値として取得する必要があることを意味します。

<subTotal value="36.2600" formattedValue="£36.26" displayFormat="c"> 

私は、これはすべてのバージョンで実行しても、他の任意の提供を取得するために3626

XSLT 2.0バージョンではなく、私を助けてください

<xsl:value-of select="translate(/subTotal/@formattedValue,'$.','')"/> 

XSLT 1.0で以下の作品のように出力を必要としますこの問題を解決する別の方法

+0

はなぜ第二引数は '翻訳しない()' '$'の代わりに '£'のがありますか? – LarsH

+0

また、何かがうまくいかないと言うと(この場合、XSLT 1.0では)、それが何をしているのか(そして明らかにならない場合は、それが望ましい出力とどう違うのか)を常に教えてください。あなたは車を整備士に持ってきて「それは働かない」と言うだけですか? – LarsH

+0

@LarsH - 元の質問はhttp://stackoverflow.com/questions/8740683/how-to-remove-a-decimal-point-in-a-xsl-template/8746404のため、OPには翻訳に「$」が含まれていました。 #comment11036586_8746404 –

答えて

2

£1 = 100ペンス

<xsl:value-of select="/subTotal/@value * 100"/> 

あなたは@formattedValueから値を抽出する必要がある場合は使用することができます。

<xsl:value-of select="substring(/subTotal/@formattedValue, 2) * 100"/> 
0
<xsl:value-of select="translate(/subTotal/@formattedValue,'£.','')"/> 
+0

これはスペースを '$'と '.'の代わりに使用します。 – LarsH

+0

ちょうどちょっと気になったのは、ポーズの代わりに$が訂正されていることです:) – Treemonkey

+0

でも、私の言葉はスペースについてのものでした。結果は '' 3626 ''の代わりに '' 36 26 "'になります。 – LarsH

関連する問題