-2

フィールドの値は、「12345678」(mots 8 桁) または「12345678.1234」(8 有効数字と小数点以下 4 桁) のいずれかにする必要があります。これらの数字は、ユーザーが実際に入力するときにチェックされます。何を入力するかはユーザー次第です。しかし限界を超えてはならない

format-number 関数を試してみましたが、うまくいきません。PS: 私の雇用主は、ここにコードをコピーして貼り付けることを許可しませんでした。

どんな助けでも大歓迎です。ありがとう、アーシク・フセイン。

4

2 に答える 2

1

では、小数点の前に8桁を超えるもの、または小数点の後に4桁を超えるものを切り捨てたいですか?これはどう?

format-number(. mod 100000000, '#.####') 
于 2013-03-10T14:56:18.710 に答える
1

この変換:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:template match="x">
  <xsl:variable name="vIntPart" select="floor(.)"/>
  <xsl:variable name="vFractPart" select=". - $vIntPart"/>

  <xsl:value-of select="concat(substring($vIntPart, 1,8),
                               '.',
                               substring($vFractPart*10000, 1,4)
                               )"/>
 </xsl:template>
</xsl:stylesheet>

次の XML ドキュメントに適用した場合:

<t>
 <x>1234567890.9876543</x>
 <x>1234567890</x>
 <x>.9876543</x>
</t>

必要な正しい結果が生成されます。

 12345678.9876
 12345678.0
 0.9876
于 2013-03-10T18:07:35.920 に答える