我需要将字段的值设置为“12345678”(在8位数字处)或“12345678.1234”(8位有效数字和小数点后4位数)。用户实际输入时会检查这些数字。这取决于用户输入的内容。但他不能超过限额
我尝试过格式号码功能,但它不起作用。 PS:我的雇主不会让我在这里复制粘贴代码。
任何帮助将不胜感激。 谢谢, Aashiq Hussain。
答案 0 :(得分:1)
所以你想要截断小数点前超过8位的任何内容,或小数点后超过4位的内容?怎么样?
format-number(. mod 100000000, '#.####')
答案 1 :(得分: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