这几天做了两三个Mapping,看到那些数据眼花缭乱的,现总结一下格式化数字:(XSLT 2.0)
1.最简单的直接通过format-number(num,'#.000')形式就能解决问题
2.在
3.取一个数字的左边m位和右边n位,这种情况比较麻烦,需要用到字符串函数
concat(substring(num,1,m),substring(num,string-length(num)-n+1))
4.一个数字的右边3位为小数位,在末尾加一个"0"
(如果要保证小数点为dot则可以通过<xsl:decimal-format>元素保证)
首先判断结点是否可用,boolean(node()),然后用format-number函数格式化
format-number(num div 1000,'#.0000')
5.添加n位前导0。思路是先用足够位数的0连接,然后取出固定位,例如一个最多5位的数(该数是一个必选项),要在前添加3个0:substring(concat('0000',num),string-length(num)-4)