1

27 桁の数字があるので、読みやすくするために次のようにフォーマットする必要があります。

Input : 999967799857791961574987365

Expected output : 999-9677-9985-7791-9615-7498-7365

つまり、一番右から始めて、4桁ごとに「-」を挿入する必要があります

私は使用しています

<xsl:value-of select="format-number($ID, '###-####-####-####-####-####-####-####')" />

しかし、まったく機能しません。

どんな助けや指針も素晴らしいでしょう..乾杯

4

2 に答える 2

2

フォーマット文字列を渡して機能させることができない理由は、フォーマット文字列のすべての文字が特別な意味を持っているためです。「-」は、グループ区切りではなく、マイナス記号として理解されます。これを機能させるには、xsl:decimal-format を使用してフォーマットを定義し、オプションの 3 番目の引数を format-number に使用して参照する必要があります。これは、説明するために任意の XML ファイルで呼び出すことができる完全なスタイルシートです。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0">
  <xsl:output method="text"/>
  <xsl:decimal-format name="dashes" grouping-separator="-"/>
  <xsl:template match="/">
    <xsl:value-of select="format-number(999967799857791961574987365,
                                        '-####', 'dashes')"/>
    <xsl:text>&#x0A;</xsl:text>
  </xsl:template>
</xsl:stylesheet>
于 2013-07-11T20:11:03.877 に答える