3

たとえば、値1,5を含めることができるXSDで定義された10進変数があります。1,50; 1,550; 1,500; ...そのため、ゼロで構成されていても、不明な小数点以下の桁数を持つことができます。これで、XSLT (2.0) を作成し、Saxon で実行できるようになりました。

問題は、XML の値を「そのまま」表示したいことですが、言語に依存する正しい小数点記号を使用したいという唯一の違いがあります。

format-number オプションでは、末尾のゼロを削除するか、後者の場合はゼロの数を「ハードコーディング」するかに関係なく、文字 (# または 0) のみを使用できます....

これは format-number 関数で深刻な不足になると思うので、小数点記号の文字列置換にフォールバックする必要なく、必要なことを実行できるオプションはありますか?

4

1 に答える 1

1

元の値で使用される小数点以下の桁数を考慮して、format-number 形式を作成する関数を作成します。

format-number(., concat('###,###.', substring('0000000000000', 1, concat(string-length(substring-after(., ','))))), euro)

言語依存のフォーマットには 10 進フォーマットを使用します。

<xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/>
于 2012-12-09T22:33:13.577 に答える